TIEGCM Main advance Advance model in time readsource Read source history rdsource apex Call apex...

1
TIEGCM Main advance Advance model in time readsource Read source history rdsource apex Call apex module apxmka apxmall input Read user input nc_rdhist init Model initialization init_cons (cons.F) Set constants rd_soldata (soldata.F) Read SEE flux data setfft (util.F) Initialize fft init_4d (fields.F) Allocate 4d fields init_3d (fields.F) Allocate 3d fields init_fsech (fields.F) Initialize secondary history fields init is called by tgcm consdyn (dynamo constants) allocdata allocate and initialize msc dynamic memory Advance (advance.F) Advance the model in time advance is called by tgcm Time-step loop sunloc (locate sun’s longitude) getgpi (read GPI data) getimf (read IMF data ) getgswm (read GSWM data) aurora_cons (update auroral constants) init_sflux (update solar flux data) efield (calculate electric field) addiag (calculate geopotential Z,ZG, mbar, etc.) hdif1,hdif2 (horizontal diffusion) weimer05 (Weimer potential model) heelis (Heelis potential model) dynamics (dynamics and chemistry module) magpres_grav (magnetic pressure and gravity prep_dynamo (prepare for dynamo) dynamo (electrodynamics module) outhist (write to netCDF output files) ssflux lbc_gswm_addiag lsqdsq dynamics Dynamics and chemistry driver dynamics is called by advance Minor species composition qjnno , qjion (ion heating and O2 dissociation) qjoule_ti (ion joule heating) settei (ion and electron temperature) trso lv newton, newto3p (implicit and explicit cooling) hdif3 (horizontal diffusion, stage 3) qjoule_tn (joule heating for TN) trso lv comp (major composition O2, O) duv (neutral winds U, V) swdot (omega) ionvel (drift velocities) chapman (line integrals) chemrates_tdep (chemical rates) qinite (night-time ionization) qrj (ionization and heating) aurora (auroral parameterization) oplus (update O+) elden (electron density) lamdas (ion drag coefficients) cpktkm (specific heat, molecular visc) bndcmp (composition lower boundary) trso lv vqua rt filt er filt er filt er filt er dt (neutral temperature TN) lsqd sq dynamo Calculate Electric Potential dynamo is called by advance transf Field line integrals rhspde Right-hand side of PDE calrhs_jrr J_rR contribution to dynamo clearcee Init stencil arrays stencmd 3x3 stencils edges Polar boundary conditions divide Divide stencil mud Multi-grid PDE solver threed 3d electric potential mag2geo and geo2mag Grid transformation utilities stencil Modified stencil define_hist Define history structure nc_define Define netCDF file nc_wrhist Write history to netCDF file savefile Save history file to MSS outhist is called by advance output_hist Write to primary history file output_sechist Write to secondary history file copyhist Copy source history def_fsech Define secondary history output Write to netcdf output files aurora Aurora parameterization aurora is called by dynamics aurora_cusp cusp aurora_heat heating aurora_ions ions aion auroral electrons bion solar protons all in aurora.F oplus Update O+ oplus is called by dynamics oplus_flux O+ number flux divb divergence rrk Diffusion coefficients diffus (d/ (h*dz)*tp+m*g/ r)*en bdotdh (b(h)*del(h))*ph i bdzdvb (bz*d/(h*dz) +divb)*phi trsolv Tridiagonal solver filter_op filter minor species composition routines called by dynamics. comp_n2d (n2d) comp_n4s (n4s) minor_n4s minor comp_no (no) minor_no minor filter filter dt is called by dynamics dt Neutral Temperature TN advec (horizontal advection) advecv (vertical advection) smooth (Shapiro smoother) tsolv (tridiagonal solver) filter_tn filter lbc_gswm_dt (GSWM data) duv is called by dynamics duv Neutral winds U, V advec (horizontal advection) glp (horizontal pressure forcing) smooth (Shapiro smoother) lbc_gswm_duv (GSWM data) blktri (block tridiagonal solver) filter_uv filter dldp lat,lon derivatives Major species composition (comp_o2o and comp are called by dynamics) comp_o2o (sources and sinks for O2, O) comp (advance O2, O) advecl (horizontal advection) smooth (Shapiro smoother) filter_o2o filter minor Called by minor composition routines advec (horizontal advecion) Minor (advance minor species) trsolv Tridiagonal solver filter_minor filter filter : Filter routines are called by: comp Major composition dt Neutral temperature duv Neutral winds minor Minor composition oplus O+ swdot Vertical motion filter (Called by dt, duv, swdot, oplus) filter2 (Called by comp,minor,oplus) fftrans (util.F) fft999 Fourier transform

Transcript of TIEGCM Main advance Advance model in time readsource Read source history rdsource apex Call apex...

Page 1: TIEGCM Main advance Advance model in time readsource Read source history rdsource apex Call apex module apxmka apxmall input Read user input nc_rdhist.

TIEGCMMain

advanceAdvance model in time

readsourceRead source history

rdsource

apex Call apex module apxmka

apxmall

inputRead user input

nc_rdhist

initModel initialization

init_cons (cons.F)Set constants

rd_soldata (soldata.F)Read SEE flux data

setfft (util.F)Initialize fft

init_4d (fields.F)Allocate 4d fields

init_3d (fields.F)Allocate 3d fields

init_fsech (fields.F)Initialize secondary history fields

init is called by tgcm

consdyn (dynamo constants)

allocdataallocate and initializemsc dynamic memory

Advance (advance.F)Advance the model in time

advance is called by tgcm

Tim

e-st

ep lo

op

sunloc (locate sun’s longitude)

getgpi (read GPI data)

getimf (read IMF data )

getgswm (read GSWM data)

aurora_cons (update auroral constants)

init_sflux (update solar flux data)

efield (calculate electric field)

addiag (calculate geopotential Z,ZG, mbar, etc.)

hdif1,hdif2 (horizontal diffusion)

weimer05 (Weimer potential model)

heelis (Heelis potential model)

dynamics (dynamics and chemistry module)

magpres_grav (magnetic pressure and gravity

prep_dynamo (prepare for dynamo)

dynamo (electrodynamics module)

outhist (write to netCDF output files)

ssflux

lbc_gswm_addiag

lsqdsq

dynamicsDynamics and chemistry driver

dynamics is called by advance

Minor species composition

qjnno, qjion (ion heating and O2 dissociation)

qjoule_ti (ion joule heating)

settei (ion and electron temperature) trsolv

newton, newto3p (implicit and explicit cooling)

hdif3 (horizontal diffusion, stage 3)

qjoule_tn (joule heating for TN)

trsolv

comp (major composition O2, O)

duv (neutral winds U, V)

swdot (omega)

ionvel (drift velocities)

chapman (line integrals)

chemrates_tdep (chemical rates)

qinite (night-time ionization)

qrj (ionization and heating)

aurora (auroral parameterization)

oplus (update O+)

elden (electron density)

lamdas (ion drag coefficients)

cpktkm (specific heat, molecular visc)

bndcmp (composition lower boundary)

trsolv

vquartfilter

filter

filter

filter

dt (neutral temperature TN)

lsqdsq

dynamoCalculate Electric Potential

dynamo is called by advance

transfField line integrals

rhspdeRight-hand side of PDE

calrhs_jrrJ_rR contribution to dynamo

clearceeInit stencil arrays

stencmd3x3 stencils

edgesPolar boundary conditions

divideDivide stencil

mudMulti-grid PDE solver

threed3d electric potential

mag2geo and geo2magGrid transformation utilities

stencilModified stencil

define_histDefine history structure

nc_defineDefine netCDF file

nc_wrhistWrite history to netCDF file

savefileSave history file to MSS

outhist is called by advance

output_histWrite to primary history file

output_sechistWrite to secondary history file

copyhistCopy source history

def_fsechDefine secondary history

outputWrite to netcdf output files

auroraAurora parameterization

aurora is called by dynamics

aurora_cuspcusp

aurora_heatheating

aurora_ionsions

aionauroral electrons

bionsolar protons

all in aurora.F

oplusUpdate O+

oplus is called by dynamics

oplus_fluxO+ number flux

divbdivergence

rrkDiffusion coefficients

diffus(d/(h*dz)*tp+m*g/r)*en

bdotdh(b(h)*del(h))*phi

bdzdvb(bz*d/(h*dz)+divb)*phi

trsolvTridiagonal solver

filter_op filter

minor species compositionroutines called by dynamics.

comp_n2d (n2d) comp_n4s (n4s)

minor_n4s

minor

comp_no (no)

minor_no

minor

filter filter

dt is called by dynamics

dtNeutral Temperature TN

advec (horizontal advection)

advecv (vertical advection)

smooth (Shapiro smoother)

tsolv (tridiagonal solver)

filter_tn filter

lbc_gswm_dt (GSWM data)

duv is called by dynamics

duvNeutral winds U, V

advec (horizontal advection)

glp (horizontal pressure forcing)

smooth (Shapiro smoother)

lbc_gswm_duv (GSWM data)

blktri (block tridiagonal solver)

filter_uv filter

dldplat,lon derivatives

Major species composition(comp_o2o and comp are

called by dynamics)

comp_o2o (sources and sinks for O2, O)

comp (advance O2, O)

advecl (horizontal advection)

smooth (Shapiro smoother) filter_o2o

filter

minorCalled by minor composition

routines

advec (horizontal advecion)

Minor (advance minor species)

trsolvTridiagonal solver

filter_minor

filter

filter: Filter routines are called by:•comp Major composition•dt Neutral temperature•duv Neutral winds•minor Minor composition•oplus O+•swdot Vertical motion

filter(Called by dt, duv, swdot, oplus)

filter2(Called by comp,minor,oplus)

fftrans (util.F)

fft999Fourier transform