chgres_cube  1.8.0
All Data Structures Namespaces Files Functions Variables Pages
wam_climo_data.f90 File Reference

Process vertical profile climatologic data for WAM. More...

Go to the source code of this file.

Modules

module  gettemp_mod
 Use moduke for common blocks.
 
module  wam_gtd7bk_mod
 Use moduke for blockdata gtd7bk.
 

Functions/Subroutines

function ccor (alt, r, h1, zh)
 Chemistry/dissociation correction. More...
 
function ccor2 (alt, r, h1, zh, h2)
 O and O2 chemistry/dissociation correction. More...
 
function densm (alt, d0, xm, tz, mn3, zn3, tn3, tgn3, mn2, zn2, tn2, tgn2)
 Calculate temperature and density profiles for lower atmos. More...
 
function densu (alt, dlb, tinf, tlb, xm, alpha, tz, zlb, s2, mn1, zn1, tn1, tgn1)
 Calculate temperature and density profiles. More...
 
function dnet (dd, dm, zhm, xmm, xm)
 Turbopause correction. More...
 
subroutine gettemp (iday, nday, xlat, nlat, pr, np, temp, n_o, n_o2, n_n2)
 Entry routine to get WAM needed temperature and composition profiles. More...
 
subroutine ghp7 (iyd, sec, alt, glat, glong, stl, f107a, f107, ap, d, t, press)
 Find altitude of pressure surface (press) from gtd7. More...
 
subroutine glatf (lat, gv, reff)
 Calculate latitude variable. More...
 
function glob7s (p)
 Version of globe for lower atmosphere. More...
 
function globe7 (yrd, sec, lat, long, tloc, f107a, f107, ap, p)
 Calculate g(l) function for upper thermosphere parameters
More...
 
subroutine gtd7 (iyd, sec, alt, glat, glong, stl, f107a, f107, ap, mass, d, t)
 The nrlmsise-00 subroutine gtd7. More...
 
subroutine gtd7d (iyd, sec, alt, glat, glong, stl, f107a, f107, ap, mass, d, t)
 The nrlmsise-00 subroutine gtd7d. More...
 
subroutine gts7 (iyd, sec, alt, glat, glong, stl, f107a, f107, ap, mass, d, t)
 Thermospheric portion of nrlmsise-00. More...
 
subroutine meters (meter)
 Convert outputs to kg & meters if meter true. More...
 
function scalh (alt, xm, temp)
 Calculate scale height (km)
More...
 
subroutine spline (x, y, n, yp1, ypn, y2)
 Calculate 2nd derivatives of cubic spline interp function. More...
 
subroutine splini (xa, ya, y2a, n, x, yi)
 Integrate cubic spline function. More...
 
subroutine splint (xa, ya, y2a, n, x, y)
 Calculate cubic spline interp value. More...
 
subroutine tselec (sv)
 Set switches. More...
 
function vtst7 (iyd, sec, glat, glong, stl, f107a, f107, ap, ic)
 Test variable condition. More...
 

Variables

real gettemp_mod::apd
 parameter calcumate for magnetic activity More...
 
real gettemp_mod::apdf
 the same as apd More...
 
real, dimension(4) gettemp_mod::apt
 daily magnetic activity More...
 
real gettemp_mod::c2tloc
 cosine of 2 time location More...
 
real gettemp_mod::c3tloc
 cosine of 3 time location More...
 
real gettemp_mod::ctloc
 cosine of the location More...
 
real gettemp_mod::day
 day in a year More...
 
real gettemp_mod::db01
 diffusive density at zlb for g01 More...
 
real gettemp_mod::db04
 diffusive density at zlb for g4 More...
 
real gettemp_mod::db14
 diffusive density at zlb for g14 More...
 
real gettemp_mod::db16
 diffusive density at zlb for g18 More...
 
real gettemp_mod::db28
 diffusive density at zlb for g28 More...
 
real gettemp_mod::db32
 diffusive density at zlb for g32 More...
 
real gettemp_mod::db40
 diffusive density at zlb for g40 More...
 
real gettemp_mod::db48
 diffusive density at zlb for g48 More...
 
real gettemp_mod::dd
 diffusive density at alt More...
 
real gettemp_mod::df
 the difference of f10.7 effect More...
 
real gettemp_mod::dfa
 the difference to reference value More...
 
real gettemp_mod::dm01
 mixed density at alt01 More...
 
real gettemp_mod::dm04
 mixed density at alt04 More...
 
real gettemp_mod::dm14
 mixed density at alt14 More...
 
real gettemp_mod::dm16
 mixed density at alt16 More...
 
real gettemp_mod::dm28
 mixed density at alt28 More...
 
real gettemp_mod::dm32
 mixed density at alt32 More...
 
real gettemp_mod::dm40
 mixed density at alt40 More...
 
real gettemp_mod::g0
 initial gradient variations More...
 
real gettemp_mod::gsurf
 surface gravitation force at given latitude More...
 
integer wam_gtd7bk_mod::imr
 define version More...
 
character *4, dimension(3) wam_gtd7bk_mod::isdate
 define date More...
 
character *4, dimension(2) wam_gtd7bk_mod::istime
 define time More...
 
integer gettemp_mod::isw
 indix for sw More...
 
integer gettemp_mod::iyr
 integer for a given year More...
 
character *4, dimension(2) wam_gtd7bk_mod::name
 define data name More...
 
real, dimension(50) wam_gtd7bk_mod::pa1
 block space data for he denisity More...
 
real, dimension(50) wam_gtd7bk_mod::pa2
 block space data for he denisity More...
 
real, dimension(50) wam_gtd7bk_mod::pa3
 block space data for he denisity More...
 
real, dimension(50) wam_gtd7bk_mod::paa1
 block space data for semiannual mult sam More...
 
real, dimension(50) wam_gtd7bk_mod::paa2
 block space data for semiannual mult sam More...
 
real, dimension(10) wam_gtd7bk_mod::pavgm
 block space data for middle atmosphere averages More...
 
real, dimension(50) wam_gtd7bk_mod::pb1
 block space data for o density More...
 
real, dimension(50) wam_gtd7bk_mod::pb2
 block space data for o density More...
 
real, dimension(50) wam_gtd7bk_mod::pb3
 block space data for o density More...
 
real, dimension(50) wam_gtd7bk_mod::pc1
 block space data for n2 density More...
 
real, dimension(50) wam_gtd7bk_mod::pc2
 block space data for n2 density More...
 
real, dimension(50) wam_gtd7bk_mod::pc3
 block space data for n2 density More...
 
real, dimension(150, 9) gettemp_mod::pd
 he density More...
 
real, dimension(50) wam_gtd7bk_mod::pd1
 block space data for tlb More...
 
real, dimension(50) wam_gtd7bk_mod::pd2
 block space data for tlb More...
 
real, dimension(50) wam_gtd7bk_mod::pd3
 block space data for tlb More...
 
real, dimension(25, 2) gettemp_mod::pdl
 turbo More...
 
real, dimension(10, 8) wam_gtd7bk_mod::pdm
 block space data for lower boundary More...
 
real, dimension(50) wam_gtd7bk_mod::pe1
 block space data for o2 density More...
 
real, dimension(50) wam_gtd7bk_mod::pe2
 block space data for o2 density More...
 
real, dimension(50) wam_gtd7bk_mod::pe3
 block space data for o2 density More...
 
real, dimension(50) wam_gtd7bk_mod::pf1
 block space data for ar density More...
 
real, dimension(50) wam_gtd7bk_mod::pf2
 block space data for ar density More...
 
real, dimension(50) wam_gtd7bk_mod::pf3
 block space data for ar density More...
 
real, dimension(50) wam_gtd7bk_mod::pg1
 block space data for h density More...
 
real, dimension(50) wam_gtd7bk_mod::pg2
 block space data for h density More...
 
real, dimension(50) wam_gtd7bk_mod::pg3
 block space data for h density More...
 
real, dimension(50) wam_gtd7bk_mod::ph1
 block space data for n density More...
 
real, dimension(50) wam_gtd7bk_mod::ph2
 block space data for n density More...
 
real, dimension(50) wam_gtd7bk_mod::ph3
 block space data for n density More...
 
real, dimension(50) wam_gtd7bk_mod::pi1
 block space data for hot o density More...
 
real, dimension(50) wam_gtd7bk_mod::pi2
 block space data for hot o density More...
 
real, dimension(50) wam_gtd7bk_mod::pi3
 block space data for hot o density More...
 
real, dimension(50) wam_gtd7bk_mod::pj1
 block space data for s param More...
 
real, dimension(50) wam_gtd7bk_mod::pj2
 block space data for s param More...
 
real, dimension(50) wam_gtd7bk_mod::pj3
 block space data for s param More...
 
real, dimension(50) wam_gtd7bk_mod::pk1
 block space data for turbo More...
 
real, dimension(50) wam_gtd7bk_mod::pl1
 block space data for tn1(2) More...
 
real, dimension(50) wam_gtd7bk_mod::pl2
 block space data for tn1(2) More...
 
real, dimension(9, 4) gettemp_mod::plg
 Legendre polynomial points. More...
 
real, dimension(50) wam_gtd7bk_mod::pm1
 block space data for tn1(3) More...
 
real, dimension(50) wam_gtd7bk_mod::pm2
 block space data for tn1(3) More...
 
real, dimension(100, 10) gettemp_mod::pma
 middle and low temperature More...
 
real, dimension(50) wam_gtd7bk_mod::pn1
 block space data for tn1(4) More...
 
real, dimension(50) wam_gtd7bk_mod::pn2
 block space data for tn1(4) More...
 
real, dimension(50) wam_gtd7bk_mod::po1
 block space data for tn1(5) tn2(1) More...
 
real, dimension(50) wam_gtd7bk_mod::po2
 block space data for tn1(5) tn2(1) More...
 
real, dimension(50) wam_gtd7bk_mod::pp1
 block space data for tn2(2) More...
 
real, dimension(50) wam_gtd7bk_mod::pp2
 block space data for tn2(2) More...
 
real, dimension(50) wam_gtd7bk_mod::pq1
 block space data for tn2(3) More...
 
real, dimension(50) wam_gtd7bk_mod::pq2
 block space data for tn2(3) More...
 
real, dimension(50) wam_gtd7bk_mod::pr1
 block space data for tn2(4) tn3(1) More...
 
real, dimension(2, 151) wam_gtd7bk_mod::pr151
 define pressures More...
 
real, dimension(50) wam_gtd7bk_mod::pr2
 block space data for tn2(4) tn3(1) More...
 
real, dimension(2, 65) wam_gtd7bk_mod::pr65
 define pressures More...
 
real, dimension(150) gettemp_mod::ps
 s parameter More...
 
real, dimension(50) wam_gtd7bk_mod::ps1
 block space data for tn3(2) More...
 
real, dimension(50) wam_gtd7bk_mod::ps2
 block space data for tn3(2) More...
 
real, dimension(150) gettemp_mod::pt
 temperature More...
 
real, dimension(50) wam_gtd7bk_mod::pt1
 block space data for temperature More...
 
real, dimension(50) wam_gtd7bk_mod::pt2
 block space data for temperature More...
 
real, dimension(50) wam_gtd7bk_mod::pt3
 block space data for temperature More...
 
real, dimension(100, 4) gettemp_mod::ptl
 upper temperature More...
 
real, dimension(10) wam_gtd7bk_mod::ptm
 block space data for lower boundary More...
 
real, dimension(50) wam_gtd7bk_mod::pu1
 block space data for tn3(3) More...
 
real, dimension(50) wam_gtd7bk_mod::pu2
 block space data for tn3(3) More...
 
real, dimension(50) wam_gtd7bk_mod::pv1
 block space data for tn3(4) More...
 
real, dimension(50) wam_gtd7bk_mod::pv2
 block space data for tn3(4) More...
 
real, dimension(50) wam_gtd7bk_mod::pw1
 block space data for tn3(5) surface temperature tsl More...
 
real, dimension(50) wam_gtd7bk_mod::pw2
 block space data for tn3(5) surface temperature tsl More...
 
real, dimension(50) wam_gtd7bk_mod::px1
 block space data for tgn3(2) surface grad tslg More...
 
real, dimension(50) wam_gtd7bk_mod::px2
 block space data for tgn3(2) surface grad tslg More...
 
real, dimension(50) wam_gtd7bk_mod::py1
 block space data for tgn2(1) tgn1(2) More...
 
real, dimension(50) wam_gtd7bk_mod::py2
 block space data for tgn2(1) tgn1(2) More...
 
real, dimension(50) wam_gtd7bk_mod::pz1
 block space data for tgn3(1) tgn2(2) More...
 
real, dimension(50) wam_gtd7bk_mod::pz2
 block space data for tgn3(1) tgn2(2) More...
 
real gettemp_mod::re
 referenced height related to gsurf More...
 
real gettemp_mod::rl
 correction to specified mixing ratio at ground More...
 
real gettemp_mod::s
 scale inverse to temperature difference More...
 
real gettemp_mod::s2tloc
 sine of 2 time location More...
 
real gettemp_mod::s3tloc
 sine of 3 time location More...
 
real, dimension(100) gettemp_mod::sam
 semiannual mult sam More...
 
real gettemp_mod::stloc
 sine of the location More...
 
real, dimension(25) gettemp_mod::sw
 weighting More...
 
real, dimension(25) gettemp_mod::swc
 weighting More...
 
real gettemp_mod::t0
 initial temperature More...
 
real, dimension(2) gettemp_mod::tgn1
 temperature gradient at node 1 (~mesosphere) More...
 
real, dimension(2) gettemp_mod::tgn2
 temperature gradient at node 2 (~stratosphere) More...
 
real, dimension(2) gettemp_mod::tgn3
 temperature gradient at node 3 (~troposphere) More...
 
real gettemp_mod::tinfg
 startinf referenced point for tt More...
 
real gettemp_mod::tlb
 labeled temperature More...
 
real, dimension(5) gettemp_mod::tn1
 temperature at node 1 (~mesosphere) More...
 
real, dimension(4) gettemp_mod::tn2
 temperature at node 2 (~stratosphere) More...
 
real, dimension(5) gettemp_mod::tn3
 temperature at node 3 (~troposphere) More...
 
real gettemp_mod::tr12
 try factor 1 or 2 More...
 
real, dimension(15) gettemp_mod::tt
 referenced temperature More...
 
real gettemp_mod::xlong
 a given longitude More...
 
real gettemp_mod::z0
 initial height More...
 
real gettemp_mod::za
 joining altitude of bates and spline More...
 

Detailed Description

Process vertical profile climatologic data for WAM.

This file contains all data need to form exosphere and used whole atmsopheric modeling (WAM). it has two modules and some routines to compute the temperature and compositions of neutral density in specific values. the original package contains fortran 77 blockdata and common statement they are all recoded to use modules and use-statements.

Author
Hann-Ming Henry Juang NCEP/EMC

Definition in file wam_climo_data.f90.

Function/Subroutine Documentation

◆ ccor()

function ccor (   alt,
  r,
  h1,
  zh 
)

Chemistry/dissociation correction.

Parameters
[in]altaltitude
[in]rtarget ratio
[in]h1transition scale length
[in]zhaltitude of 1/2 r
Returns
ccor correction
Author
Hann-Ming Henry Juang

Definition at line 2755 of file wam_climo_data.f90.

Referenced by gts7().

◆ ccor2()

function ccor2 (   alt,
  r,
  h1,
  zh,
  h2 
)

O and O2 chemistry/dissociation correction.

Parameters
[in]altaltitude
[in]rtarget ratio
[in]h1transition scale length 1
[in]zhaltitude of 1/2 r
[in]h2transition scale length 2
Returns
ccor2 correction
Author
Hann-Ming Henry Juang

Definition at line 2783 of file wam_climo_data.f90.

Referenced by gts7().

◆ densm()

function densm (   alt,
  d0,
  xm,
  tz,
  mn3,
dimension(mn3)  zn3,
dimension(mn3)  tn3,
dimension(2)  tgn3,
  mn2,
dimension(mn2)  zn2,
dimension(mn2)  tn2,
dimension(2)  tgn2 
)

Calculate temperature and density profiles for lower atmos.

Parameters
[in]altaltitude (km)
[in]d0initial guess
[in]xmmolecular weight
[out]tztemperature
[in]mn3size of array zn3 amd tn3
[in]zn3altitude (km)
[in]tn3temperature
[in]tgn3altitude (km)
[in]mn2size of array zn2 and tn2
[in]zn2altitude (km)
[in]tn2temperature
[in]tgn2end point temperature
Returns
densm density
Author
Hann-Ming Henry Juang

Definition at line 2505 of file wam_climo_data.f90.

References gettemp_mod::gsurf, gettemp_mod::re, spline(), splini(), and splint().

Referenced by gtd7().

◆ densu()

function densu (   alt,
  dlb,
  tinf,
  tlb,
  xm,
  alpha,
  tz,
  zlb,
  s2,
  mn1,
dimension(mn1)  zn1,
dimension(mn1)  tn1,
dimension(2)  tgn1 
)

Calculate temperature and density profiles.

New lower thermo polynomial 10/30/89

Parameters
[in]altaltitude (km)
[in]dlbaltitude (km)
[in]tinfinitial guess
[in]tlbmolecular weight
[in]xmmolecular weight
[in]alphainitial guess
[in]tztemperature
[in]zlbaltitude (km)
[in]s2altitude (km)
[in]mn1size of array zn2 and tn2
[in]zn1altitude (km)
[in]tn1temperature
[in]tgn1end point temperature
Returns
densu density
Author
Hann-Ming Henry Juang

Definition at line 2406 of file wam_climo_data.f90.

References gettemp_mod::gsurf, gettemp_mod::re, spline(), splini(), and splint().

Referenced by gts7().

◆ dnet()

function dnet (   dd,
  dm,
  zhm,
  xmm,
  xm 
)

Turbopause correction.

Parameters
[in]dddiffusive density
[in]dmfull mixed density
[in]zhmtransition scale length
[in]xmmfull mixed molecular weight
[in]xmspecies molecular weight
Returns
dnet combined density
Author
Hann-Ming Henry Juang

Definition at line 2721 of file wam_climo_data.f90.

Referenced by gts7().

◆ gettemp()

subroutine gettemp ( integer, dimension(nday), intent(in)  iday,
integer, intent(in)  nday,
real, dimension(nlat), intent(in)  xlat,
integer, intent(in)  nlat,
real, dimension(np), intent(in)  pr,
integer, intent(in)  np,
real, dimension(np,nlat,nday), intent(out)  temp,
real, dimension(np,nlat,nday), intent(out)  n_o,
real, dimension(np,nlat,nday), intent(out)  n_o2,
real, dimension(np,nlat,nday), intent(out)  n_n2 
)

Entry routine to get WAM needed temperature and composition profiles.

Calculate temperature at each grid point useing nrlmsise00_sub

Parameters
[in]idaycalendat date with array dimension of nday
[in]ndaydimension length of iday
[in]xlatlatitudes with dimension nlat
[in]nlatdimension length of xlat
[in]prpressure in vertical with dimension of np
[in]npdimension length of pr
[out]temptemperature
[out]n_osingle oxygen number
[out]n_o2oxygen number
[out]n_n2nitrogen number
Author
Hann-Ming Henry Juang NCEP/EMC

Definition at line 968 of file wam_climo_data.f90.

References ghp7(), and tselec().

Referenced by atmosphere::VINTG_WAM().

◆ ghp7()

subroutine ghp7 (   iyd,
  sec,
  alt,
  glat,
  glong,
  stl,
  f107a,
  f107,
dimension(7)  ap,
dimension(9)  d,
dimension(2)  t,
  press 
)

Find altitude of pressure surface (press) from gtd7.

input:

Parameters
[in]iydyear and day as yyddd
[in]secut(sec)
[in]glatgeodetic latitude(deg)
[in]glonggeodetic longitude(deg)
[in]stllocal apparent solar time(hrs)
[in]f107a3 month average of f10.7 flux
[in]f107daily f10.7 flux for previous day
[in]apmagnetic index(daily) or when sw(9)=-1. :
array containing:
ap(1) daily ap
ap(2) 3 hr ap index for current time
ap(3) 3 hr ap index for 3 hrs before current time
ap(4) 3 hr ap index for 6 hrs before current time
ap(5) 3 hr ap index for 9 hrs before current time
ap(6) average of eight 3 hr ap indicies from 12 to 33 hrs pr to current time
ap(7) average of eight 3 hr ap indicies from 36 to 59 hrs pr to current time
[in]presspressure level(mb)
output:
[out]altaltitude(km)
[out]ddensity array with length of 8 d(1) he number density(cm-3)
d(2) o number density(cm-3)
d(3) n2 number density(cm-3)
d(4) o2 number density(cm-3)
d(5) ar number density(cm-3)
d(6) total mass density(gm/cm3)
d(7) h number density(cm-3)
d(8) n number density(cm-3)
d(9) hot o number density(cm-3)
[out]ttemperature array with length of 2 t(1) exospheric temperature
t(2) temperature at alt
Author
Hann-Ming Henry Juang

Definition at line 1413 of file wam_climo_data.f90.

References gettemp_mod::gsurf, gtd7(), wam_gtd7bk_mod::imr, and gettemp_mod::re.

Referenced by gettemp().

◆ glatf()

subroutine glatf ( real  lat,
  gv,
  reff 
)

Calculate latitude variable.

Parameters
[in]latlatitude in degree
[out]gvgravity
[out]reffeffective radius
Author
Hann-Ming Henry Juang

Definition at line 1480 of file wam_climo_data.f90.

Referenced by gtd7().

◆ glob7s()

function glob7s ( dimension(*)  p)

Version of globe for lower atmosphere.

Parameters
[in]ppressure (mb)
Returns
glob7s version of global
Author
Hann-Ming Henry Juang

Definition at line 2293 of file wam_climo_data.f90.

References gettemp_mod::apdf, gettemp_mod::apt, gettemp_mod::c2tloc, gettemp_mod::c3tloc, gettemp_mod::ctloc, gettemp_mod::day, gettemp_mod::dfa, gettemp_mod::plg, gettemp_mod::s2tloc, gettemp_mod::s3tloc, gettemp_mod::stloc, gettemp_mod::sw, gettemp_mod::swc, and gettemp_mod::xlong.

Referenced by gtd7(), and gts7().

◆ globe7()

function globe7 (   yrd,
  sec,
real  lat,
real  long,
  tloc,
  f107a,
  f107,
dimension(*)  ap,
dimension(*)  p 
)

Calculate g(l) function for upper thermosphere parameters

Parameters
[in]yrdyear and day as yyddd
[in]secut(sec)
[in]latgeodetic latitude(deg)
[in]longgeodetic longitude(deg)
[in]tloclocal apparent solar time(hrs)
[in]f107a3 month average of f10.7 flux
[in]f107daily f10.7 flux for previous day
[in]apmagnetic index(daily) or when sw(9)=-1. :
array containing:
ap(1) daily ap
ap(2) 3 hr ap index for current time
ap(3) 3 hr ap index for 3 hrs before current time
ap(4) 3 hr ap index for 6 hrs before current time
ap(5) 3 hr ap index for 9 hrs before current time
ap(6) average of eight 3 hr ap indicies from 12 to 33 hrs pr to current time
ap(7) average of eight 3 hr ap indicies from 36 to 59 hrs pr to current time
[in]ppressure level(mb)
Returns
globe7 version of global
Author
Hann-Ming Henry Juang

Definition at line 2030 of file wam_climo_data.f90.

References gettemp_mod::apd, gettemp_mod::apdf, gettemp_mod::apt, gettemp_mod::c2tloc, gettemp_mod::c3tloc, gettemp_mod::ctloc, gettemp_mod::day, gettemp_mod::df, gettemp_mod::dfa, gettemp_mod::isw, gettemp_mod::iyr, gettemp_mod::plg, gettemp_mod::s2tloc, gettemp_mod::s3tloc, gettemp_mod::stloc, gettemp_mod::sw, gettemp_mod::swc, gettemp_mod::tinfg, tselec(), gettemp_mod::tt, and gettemp_mod::xlong.

Referenced by gts7().

◆ gtd7()

subroutine gtd7 (   iyd,
  sec,
  alt,
  glat,
  glong,
  stl,
  f107a,
  f107,
dimension(7)  ap,
  mass,
dimension(9)  d,
dimension(2)  t 
)

The nrlmsise-00 subroutine gtd7.

Neutral atmosphere empirical model from the surface to lower exosphere.

New features:
Extensive satellite drag database used in model generation
Revised o2 (and o) in lower thermosphere
Additional nonlinear solar activity term
"anomalous oxygen" number density, output d(9)
at high altitudes (> 500 km), hot atomic oxygen or ionized
oxygen can become appreciable for some ranges of subroutine inputs, thereby affecting drag on satellites and debris. we group these species under the term "anomalous oxygen," since their individual variations are not presently separable with the drag data used to define this model component.
And d(6) is the sum of the mass densities of t species labeled by indices 1-5 and 7-8 in output variable d. this includes he, o, n2, o2, ar, h, and n but does not includ anomalous oxygen (species index 9).
Notes on input variables:
ut, local time, and longitude are used independently in the
model and are not of equal importance for every situation.
for the most physically realistic calculation these three
variables should be consistent (stl=sec/3600+glong/15).
the equation of time departures from the above formula
for apparent local time can be included if available but
are of minor importance.
f107 and f107a values used to generate the model correspond
to the 10.7 cm radio flux at the actual distance of the earth
from the sun rather than the radio flux at 1 au. the following site provides both classes of values:
ftp://ftp.ngdc.noaa.gov/stp/solar_data/solar_radio/flux/
f107, f107a, and ap effects are neither large nor well
established below 80 km and these parameters should be set to
150., 150., and 4. respectively.
Subroutines for special outputs:
High altitude drag: effective total mass density
(subroutine gtd7d, output d(6))
for atmospheric drag calculations at altitudes above 500 km, call subroutine gtd7d to compute the "effective total mass <br> density" by including contributions from "anomalous oxygen." see "notes on output variables" below on d(6).
Pressure grid (subroutine ghp7)
see subroutine ghp7 to specify outputs at a pressure level
rather than at an altitude.
Output in m-3 and kg/m3: call meters(.true.)
Notes on output variables:
To get output in m-3 and kg/m3: call meters(.true.)
o, h, and n are set to zero below 72.5 km
t(1), exospheric temperature, is set to global average for
altitudes below 120 km. the 120 km gradient is left at global
average value for altitudes below 72 km.
d(6), total mass density, is not the same for subroutines gtd7 and gtd7d

Switches: the following is for test and special purposes:
To turn on and off particular variations call tselec(sw),
where sw is a 25 element array containing 0. for off, 1.
for on, or 2. for main effects off but cross terms on
for the following variations
1 f10.7 effect on mean
2 time independent
3 symmetrical annual
4 symmetrical semiannual
5 asymmetrical annual
6 asymmetrical semiannual
7 diurnal
8 semidiurnal
9 daily ap
10 all ut/long effects
11 longitudinal
12 ut and mixed ut/long
13 mixed ap/ut/long
14 terdiurnal
15 departures from diffusive equilibrium
16 all tinf var
17 all tlb var
18 all tn1 var
19 all s var
20 all tn2 var
21 all nlb var
22 all tn3 var
23 turbo scale height var

Parameters
[in]iydyear and day as yyddd (day of year from 1 to 365 or 366)
[in]secut(sec)
[in]altaltitude(km)
[in]glatgeodetic latitude(deg)
[in]glonggeodetic longitude(deg)
[in]stllocal apparent solar time(hrs; see note below)
[in]f107a81 day average of f10.7 flux (centered on day ddd)
[in]f107daily f10.7 flux for previous day
[in]apmagnetic index(daily) or when sw(9)=-1. :
array containing:
ap(1) daily ap
ap(2) 3 hr ap index for current time
ap(3) 3 hr ap index for 3 hrs before current time
ap(4) 3 hr ap index for 6 hrs before current time
ap(5) 3 hr ap index for 9 hrs before current time
ap(6) average of eight 3 hr ap indicies from 12 to 33 hrs pr to current time
ap(7) average of eight 3 hr ap indicies from 36 to 57 hrs pr to current time
[in]massmass number (only density for selected gas is
calculated. mass 0 is temperature. mass 48 for all. mass 17 is anomalous o only.)
[out]dsize of 9 with following definition. d(1) he number density(cm-3)
d(2) o number density(cm-3)
d(3) n2 number density(cm-3)
d(4) o2 number density(cm-3)
d(5) ar number density(cm-3)
d(6) total mass density(gm/cm3)
d(7) h number density(cm-3)
d(8) n number density(cm-3)
d(9) anomalous oxygen number density(cm-3)
[out]t- size of 2 array with following definition. t(1) exospheric temperature
t(2) temperature at alt
Author
Hann-Ming Henry Juang

Definition at line 1144 of file wam_climo_data.f90.

References gettemp_mod::dd, densm(), gettemp_mod::dm28, glatf(), glob7s(), gettemp_mod::gsurf, gts7(), wam_gtd7bk_mod::imr, gettemp_mod::isw, wam_gtd7bk_mod::pa1, wam_gtd7bk_mod::pa2, wam_gtd7bk_mod::pa3, wam_gtd7bk_mod::paa1, wam_gtd7bk_mod::paa2, wam_gtd7bk_mod::pavgm, wam_gtd7bk_mod::pb1, wam_gtd7bk_mod::pb2, wam_gtd7bk_mod::pb3, wam_gtd7bk_mod::pc1, wam_gtd7bk_mod::pc2, wam_gtd7bk_mod::pc3, gettemp_mod::pd, wam_gtd7bk_mod::pd1, wam_gtd7bk_mod::pd2, wam_gtd7bk_mod::pd3, gettemp_mod::pdl, wam_gtd7bk_mod::pdm, wam_gtd7bk_mod::pe1, wam_gtd7bk_mod::pe2, wam_gtd7bk_mod::pe3, wam_gtd7bk_mod::pf1, wam_gtd7bk_mod::pf2, wam_gtd7bk_mod::pf3, wam_gtd7bk_mod::pg1, wam_gtd7bk_mod::pg2, wam_gtd7bk_mod::pg3, wam_gtd7bk_mod::ph1, wam_gtd7bk_mod::ph2, wam_gtd7bk_mod::ph3, wam_gtd7bk_mod::pi1, wam_gtd7bk_mod::pi2, wam_gtd7bk_mod::pi3, wam_gtd7bk_mod::pj1, wam_gtd7bk_mod::pj2, wam_gtd7bk_mod::pj3, wam_gtd7bk_mod::pk1, wam_gtd7bk_mod::pl1, wam_gtd7bk_mod::pl2, wam_gtd7bk_mod::pm1, wam_gtd7bk_mod::pm2, gettemp_mod::pma, wam_gtd7bk_mod::pn1, wam_gtd7bk_mod::pn2, wam_gtd7bk_mod::po1, wam_gtd7bk_mod::po2, wam_gtd7bk_mod::pp1, wam_gtd7bk_mod::pp2, wam_gtd7bk_mod::pq1, wam_gtd7bk_mod::pq2, wam_gtd7bk_mod::pr1, wam_gtd7bk_mod::pr2, gettemp_mod::ps, wam_gtd7bk_mod::ps1, wam_gtd7bk_mod::ps2, gettemp_mod::pt, wam_gtd7bk_mod::pt1, wam_gtd7bk_mod::pt2, wam_gtd7bk_mod::pt3, gettemp_mod::ptl, wam_gtd7bk_mod::pu1, wam_gtd7bk_mod::pu2, wam_gtd7bk_mod::pv1, wam_gtd7bk_mod::pv2, wam_gtd7bk_mod::pw1, wam_gtd7bk_mod::pw2, wam_gtd7bk_mod::px1, wam_gtd7bk_mod::px2, wam_gtd7bk_mod::py1, wam_gtd7bk_mod::py2, wam_gtd7bk_mod::pz1, wam_gtd7bk_mod::pz2, gettemp_mod::re, gettemp_mod::sam, gettemp_mod::sw, gettemp_mod::tgn1, gettemp_mod::tgn2, gettemp_mod::tgn3, gettemp_mod::tn1, gettemp_mod::tn2, gettemp_mod::tn3, tselec(), and vtst7().

Referenced by ghp7(), and gtd7d().

◆ gtd7d()

subroutine gtd7d (   iyd,
  sec,
  alt,
  glat,
  glong,
  stl,
  f107a,
  f107,
dimension(7)  ap,
  mass,
dimension(9)  d,
dimension(2)  t 
)

The nrlmsise-00 subroutine gtd7d.

This subroutine provides effective total mass density for
output d(6) which includes contributions from "anomalous <br> oxygen" which can affect satellite drag above 500 km. this
subroutine is part of the distribution package for the
neutral atmosphere empirical model from the surface to lower
exosphere. see subroutine gtd7 for more extensive comments.
And d(6) is the "effective total mass density for drag" and is the sum of the mass densities of all species in this model, including anomalous oxygen.

Parameters
[in]iydyear and day as yyddd (day of year from 1 to 365 (or 366)
[in]secut(sec)
[in]altaltitude(km)
[in]glatgeodetic latitude(deg)
[in]glonggeodetic longitude(deg)
[in]stllocal apparent solar time(hrs; see note below)
[in]f107a81 day average of f10.7 flux (centered on day ddd)
[in]f107daily f10.7 flux for previous day
[in]apmagnetic index(daily) or when sw(9)=-1. :
ap array containing:
ap(1) daily ap
ap(2) 3 hr ap index for current time
ap(3) 3 hr ap index for 3 hrs before current time
ap(4) 3 hr ap index for 6 hrs before current time
ap(5) 3 hr ap index for 9 hrs before current time
ap(6) average of eight 3 hr ap indicies from 12 to 33 hrs pr to current time
ap(7) average of eight 3 hr ap indicies from 36 to 57 hrs pr to current time
[in]massmass number (only density for selected gas is
calculated. mass 0 is temperature. mass 48 for all. mass 17 is anomalous o only.)
[out]ddensity array with length of 9
[out]ttemperature array with length of 2 d array contains: d(1) he number density(cm-3)
d(2) o number density(cm-3)
d(3) n2 number density(cm-3)
d(4) o2 number density(cm-3)
d(5) ar number density(cm-3)
d(6) total mass density(gm/cm3) [includes anomalous oxygen]
d(7) h number density(cm-3)
d(8) n number density(cm-3)
d(9) anomalous oxygen number density(cm-3)
t array conyains: t(1) exospheric temperature
t(2) temperature at alt
Author
Hann-Ming Henry Juang

Definition at line 1358 of file wam_climo_data.f90.

References gtd7(), and wam_gtd7bk_mod::imr.

◆ gts7()

subroutine gts7 (   iyd,
  sec,
  alt,
  glat,
  glong,
  stl,
  f107a,
  f107,
dimension(*)  ap,
  mass,
dimension(9)  d,
dimension(2)  t 
)

Thermospheric portion of nrlmsise-00.

See gtd7 for more extensive comments
Output in m-3 and kg/m3: call meters(.true.)

Parameters
[in]iydyear and day as yyddd (day of year from 1 to 365 or 366
[in]secut(sec)
[in]altaltitude(km) (>72.5 km)
[in]glatgeodetic latitude(deg)
[in]glonggeodetic longitude(deg)
[in]stllocal apparent solar time(hrs)
[in]f107a3 month average of f10.7 flux
[in]f107daily f10.7 flux for previous day
[in]apmagnetic index(daily) or when sw(9)=-1. :
array containing:
ap(1) daily ap
ap(2) 3 hr ap index for current time
ap(3) 3 hr ap index for 3 hrs before current time
ap(4) 3 hr ap index for 6 hrs before current time
ap(5) 3 hr ap index for 9 hrs before current time
ap(6) average of eight 3 hr ap indicies from 12 to 33 hrs pr to current time
ap(7) average of eight 3 hr ap indicies from 36 to 59 hrs pr to current time
[in]mass- mass number (only density for selected gas is calculated. mass 0 is temperature. mass 48 for all. mass 17 is anomalous o only.)
[out]ddensity array with length of 8 d(1) he number density(cm-3)
d(2) o number density(cm-3)
d(3) n2 number density(cm-3)
d(4) o2 number density(cm-3)
d(5) ar number density(cm-3)
d(6) total mass density(gm/cm3)
d(7) h number density(cm-3)
d(8) n number density(cm-3)
d(9) anomalous oxygen number density(cm-3)
[out]ttemperature array with length of 2 t(1) exospheric temperature
t(2) temperature at alt
Author
Hann-Ming Henry Juang

Definition at line 1607 of file wam_climo_data.f90.

References ccor(), ccor2(), gettemp_mod::db01, gettemp_mod::db04, gettemp_mod::db14, gettemp_mod::db16, gettemp_mod::db28, gettemp_mod::db32, gettemp_mod::db40, gettemp_mod::db48, gettemp_mod::dd, densu(), gettemp_mod::dm01, gettemp_mod::dm04, gettemp_mod::dm14, gettemp_mod::dm16, gettemp_mod::dm28, gettemp_mod::dm32, gettemp_mod::dm40, dnet(), gettemp_mod::g0, glob7s(), globe7(), wam_gtd7bk_mod::imr, gettemp_mod::pd, gettemp_mod::pdl, wam_gtd7bk_mod::pdm, gettemp_mod::pma, gettemp_mod::ps, gettemp_mod::pt, gettemp_mod::ptl, wam_gtd7bk_mod::ptm, gettemp_mod::rl, gettemp_mod::s, scalh(), gettemp_mod::sw, gettemp_mod::t0, gettemp_mod::tgn1, gettemp_mod::tlb, gettemp_mod::tn1, gettemp_mod::tr12, vtst7(), gettemp_mod::z0, and gettemp_mod::za.

Referenced by gtd7().

◆ meters()

subroutine meters ( logical  meter)

Convert outputs to kg & meters if meter true.

Parameters
[in]meterlogical true or false
Author
Hann-Ming Henry Juang

Definition at line 1979 of file wam_climo_data.f90.

References wam_gtd7bk_mod::imr.

◆ scalh()

function scalh (   alt,
  xm,
  temp 
)

Calculate scale height (km)

Parameters
[in]altaltitude [km]
[in]xmmolecular weihjt
[in]temptemperature
Returns
scalh scale height
Author
Hann-Ming Henry Juang

Definition at line 1996 of file wam_climo_data.f90.

References gettemp_mod::gsurf, and gettemp_mod::re.

Referenced by gts7().

◆ spline()

subroutine spline ( dimension(n)  x,
dimension(n)  y,
  n,
  yp1,
  ypn,
dimension(n)  y2 
)

Calculate 2nd derivatives of cubic spline interp function.

Adapted from numerical recipes by press et al.

Parameters
[in]xarrays of tabulated function in ascending order by x
[in]yarrays of tabulated function in ascending order by x
[in]nsize of arrays x,y
[in]yp1specified derivatives at x(1)
[in]ypnspecified derivatives at x(n) values >= 1e30 signal signal second derivative zero.
[out]y2output array of second derivatives
Author
Hann-Ming Henry Juang

Definition at line 2606 of file wam_climo_data.f90.

Referenced by densm(), and densu().

◆ splini()

subroutine splini ( dimension(n)  xa,
dimension(n)  ya,
dimension(n)  y2a,
  n,
  x,
  yi 
)

Integrate cubic spline function.

Parameters
[in]xaarrays of tabulated function in ascending order by x
[in]yaarrays of tabulated function in ascending order by x
[in]y2aarray of second derivatives
[in]nsize of arrays xa,ya,y2a
[in]xabscissa endpoint for integration
[out]yioutput value
Author
Hann-Ming Henry Juang

Definition at line 2685 of file wam_climo_data.f90.

Referenced by densm(), and densu().

◆ splint()

subroutine splint ( dimension(n)  xa,
dimension(n)  ya,
dimension(n)  y2a,
  n,
  x,
  y 
)

Calculate cubic spline interp value.

Adapted from numerical recipes by press et al.

Parameters
[in]xaarrays of tabulated function in ascending order by x
[in]yaarrays of tabulated function in ascending order by x
[in]y2aarray of second derivatives
[in]nsize of arrays xa,ya,y2a
[in]xabscissa for interpolation
[out]youtput value
Author
Hann-Ming Henry Juang

Definition at line 2650 of file wam_climo_data.f90.

Referenced by densm(), and densu().

◆ tselec()

subroutine tselec ( dimension(*)  sv)

Set switches.

Output in sw(25),isw,swc(25)
The sw for main terms, swc for cross terms
To turn on and off particular variations call tselec(sv),
where sv is a 25 element array containing 0. for off, 1.
for on, or 2. for main effects off but cross terms on
To get current values of sw: call tretrv(sw)

Parameters
[in]svarray contains switches.
Author
Hann-Ming Henry Juang

Definition at line 2264 of file wam_climo_data.f90.

References gettemp_mod::isw, gettemp_mod::sw, and gettemp_mod::swc.

Referenced by gettemp(), globe7(), and gtd7().

◆ vtst7()

function vtst7 (   iyd,
  sec,
  glat,
  glong,
  stl,
  f107a,
  f107,
dimension(7)  ap,
  ic 
)

Test variable condition.

Test if geophysical variables or switches changed and save
return 0 if unchanged and 1 if changed

Parameters
[in]iydyear and day as yyddd
[in]secut(sec)
[in]glatgeodetic latitude(deg)
[in]glonggeodetic longitude(deg)
[in]stllocal apparent solar time(hrs)
[in]f107a3 month average of f10.7 flux
[in]f107daily f10.7 flux for previous day
[in]apmagnetic index(daily) or when sw(9)=-1. :
array containing:
ap(1) daily ap
ap(2) 3 hr ap index for current time
ap(3) 3 hr ap index for 3 hrs before current time
ap(4) 3 hr ap index for 6 hrs before current time
ap(5) 3 hr ap index for 9 hrs before current time
ap(6) average of eight 3 hr ap indicies from 12 to 33 hrs pr to current time
ap(7) average of eight 3 hr ap indicies from 36 to 59 hrs pr to current time
[in]icinitial point
Returns
vtst7 tested value
Author
Hann-Ming Henry Juang

Definition at line 1519 of file wam_climo_data.f90.

References gettemp_mod::sw, and gettemp_mod::swc.

Referenced by gtd7(), and gts7().