The following is a list of differences between code for the extended WACCM model
from Hanli's 'dev' directory and the originial code in the subdirectories of the
directory /fis/other/home/stacy/cam3_1_9_brnchT_waccm_12/models/atm/cam/src.
After each module name a description is given in parentheses followed by the subdirectory
of the original code. The line numbers are from the extended code.

Red indicates code changes not in an ifdef WACCM_TIPHYS which may or may not need to be in an ifdef
Blue indicates code changes which should be in an ifdef WACCM_TIPHYS
Green indicates where ifdef WACCM_TIPHYS has been added as opposed to replacing an ifdef WACCM_MOZART

'chemistry.F90'(Initialize defaults for chemistry processing) .../chemistry/waccm_mozart/

subroutine chem_register(Register constituents for chemistry processing):

Line 126: Changed variable cnst_fixed_ubc(1) from .true. to .false. which eliminates
the constant fixed upper boundary condition for all species

Lines 139,143,155: Changed variable has_fixed_ubc from .true. to .false. which is a flag
used later to checked for a fixed upper boundary condition for current species.
We can put a ifdef WACCM_TIPHYS at these two places.
Added ifdef WACCM_TIPHYS for both cases above

'diffusion_solver.F90'(Calculate vertical diffusion, including thermal diffusion, species
diffusion, and eddy diffusion) .../physics/cam1/

Line 21: Use subroutine cnst_get_ind and variable cnst_mw(constituent molecular weights)
from 'constituents.F90'.

Line 75: Add variables ubflx_H(the upper boundary mass flux), alphath, indx_o, indx_O2,
and indx_H variables to access those species in physics arrays.

alphath is the thermal diffusion coefficient (e.g. Roble, 1995). It is usually close to
0 except for species whose molecular weight is significantly larger or smaller than the mean
molecular weight.

subroutine init_vdiff(Initialize and allocate variable for diffusion calculations):

Line 113: Added calls to cnst_get_ind to get array indices for O2, O, and H species, fill
alphath array with all zeros except index for H, and calculate
ubflx_H(upward mass flux of H at upper boundary).

subroutine compute_vdiff(Calculates vertical diffusion variables):

Line 139: Added composition dependent variables cpairv(specific heat at constant pressure),
rairv(gas constant), mbarv(mean mass), kmvis(molecular viscosity), and kmcnd(thermal
conductivity) to interface of the subroutine compute_vdiff

Line 172: Declare composition dependent variables cpairv(specific heat at constant pressure),
rairv(gas constant), mbarv(mean mass), kmvis(molecular viscosity), and kmcnd(conductivity)

Line 215: Declare rairvi(composition dependent gas constant at interface level)

Line 243: Declare mw_fac(composition dependent molecular weight factor), kvt(molecular
conductivity), and ttemp/ttemp0(temporary temperature arrays).

Line 265: Modify calculation of rhoi(density at interfaces) using
rairvi(composition dependent gas constant).

Line 267: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 311: Added composition dependent variables cpairv(specific heat at constant pressure),
rairv(gas constant), mbarv(mean mass), kmvis(molecular viscosity), and kmcnd(conductivity)
to call of the routine compute_molec_diff

Line 401: Pass in zero(zero flux at upper boundary) in call to subroutine vd_lu_decomp

Line 407: Pass in zero(zero flux at upper boundary) in call to subroutine vd_lu_solve

Line 414: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 415: Call to subroutine vd_lu_qtdecomp added and pass in zero(zero flux at upper boundary)
to this routine.

Line 421: Fill ttemp0/ttemp, temporary temperature arrays

Line 425: Call to subroutine vd_lu_qtdecomp added and pass in zero(zero flux at upper boundary)
to this routine.

vd_lu_qtdecomp is LU-Decompose solver specifically for solving molecular heat conduction. In standard WACCM, eddy
diffusion is applied to dry-static energy. But the molecular thermal conductivity needs to be applied to temperature,
and this new subroutine is added to address this issue.

Line 431: Add calculation of dse(dry static energy) using
cpairv(composition dependent specific heat at constant pressure)

Line 466: Do not update O2 and O. This is for solving molecular diffusion of minor species, thus bypass O and O2 (major species)
Major species diffusion is calculated separately.

Line 471: Call to subroutine vd_lu_decomp includes 3-D instead of 1-D
mw_fac(molecular weight factor) variable.

Line 472: Added variables mbarv(composition dependent mean mass), pmid(midpoint pressures),
pint(interface pressures), t(temperature), and alphath in the call to 'vd_lu_decomp'.

Line 478: Update q(index for H species) with ubflx_H(upper boundary flux)

Line 498: Combine kvh(diffusivity for heat) and kvt(molecular conductivity)/cpairv
(specific heat at constant pressure) to get the total thermal diffusion, which will be
used by gw_intr.

Line 735: The following comments added to the subroutine:
!+hi-waccm
! This is LU-Decompose solver specifically for solving molecular heat conduction. In standard WACCM, eddy
! diffusion is applied to dry-static energy. In the extended WACCM, molecular thermal conductivity is
! applied to temperature. -Hanli Liu
!-hi-waccm

'dp_coupling.F90'(Takes output from dynamics processing and prepares for input to physics
processing and the reverse for temperature, tendencies, and constituents) .../dynamics/fv/

Line 21: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 22-23: Use additional variables from constituents(cnst_get_ind,cnst_mw) and
shr_const_mod(shr_const_rgas).

subroutine _d_p_coupling_(Converts and copies dynamics structures/variables to physics
structures/variables):

Line 153: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 155-157: Declare new species index variables, species data arrays, and
mbarvi(composition dependent mean mass at interface levels), tint(temperature at interface levels),
and cpairvi(interface specific heat at constant pressure) variables. Need to comment these
declarations.

Line 495: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 496: Added calls to cnst_get_ind to get array indices for O(ixo), O2(ixo2), H(ixh), H2(ixh2),
and N(ixn) species.

Line 541: Temporary fix for high phys_state%q H and H2 values

Added ifdef WACCM_TIPHYS and changed fix for high phys_state%q H and H2 values to just a print if a value is found.

Line 557: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 559: Loops to calculate phys_state structure variables
mbarv(composition dependent mean mass), rairv(composition dependent gas constant),
cpairv(composition dependent specific heat at constant pressure), and
cappav(ratio of rairv/cpairv)

Line 578: Loops to calculate phys_state structure variables kmvis(molecular viscosity) and
kmcnd(molecular conductivity).

Line 607: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 610: Call geopotential_t with rairv(composition dependent gas constant)

Line 623: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 624: Calculate initial phys_state variable s(dry static energy) using
cpairv(composition dependent specific heat at constant pressure)

subroutine _p_d_coupling_(Converts and copies physics processing structures/variables to
dynamics structures/variables. Also performs domain decomposition and distribute the physics variables).

Line 686: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 687: Use cpair3v(composition dependent specific heat at constant pressure),
rair3v(composition dependent gas constan), and cappa3v(ratio of rairv/cpairv) from
prognostics module (to be defined here and used by other dynamics modules through
prognostics module.

Line 764: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 766: Declare new species index variables(ixo,ixo2,ixh,ixn),
species data arrays(mmro,mmro2,mmrh,mmrn2), and mwbar(composition dependent mean mass)

Line 1119: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 1121: cpair3v(composition dependent specific heat at constant pressure),
rair3v(composition dependent gas constant), and cappa3v(ratio of rairv/cpairv) calculated, which are
intended to be used by module "prognostics", which in turn will be used by other dynamics modules.
Currently these variables are not used by the dynamics modules.

'geopotential.F90'(Compute temperature and geopotential height from dry static energy and
pressure and compute geopotential height from temperature and pressure) .../physics/cam1/

subroutine geopotential_dse(Compute the temperature and geopotential height at midpoints and
interfaces from dry static energy and pressure):

Line 26-27: Add rairv(composition dependent gas constant) and
cpairv(composition dependent specific heat at constant pressure) to interface of subroutine
geopotential_dse.

Line 55: Declare rairv(composition dependent gas constant)and
pairv(composition dependent specific heat at constant pressure).

Line 75-76: Declare rvog(composition dependent gas constant/gravity) and
zvirv(water vapor gas constant/composition dependent gas constant).

Line 107: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 108: Loop to calculate rvog(composition dependent gas constant/gravity) and
zvirv(water vapor gas constant/composition dependent gas constant) declared above.

Line 113: Loop to calculate tv(virtual temperature), t(temperature),
zm(geopotential height at mid level), and zi(geopotential height at interfaces)

subroutine geopotential_t(Compute geopotential height from temperature and pressure):

Line 171: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 172: Declare rair(gas constant) as composition dependent

Line 192: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 193: Declare rog(gas constant/gravity) as composition dependent

Line 237: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 238: Calculate zm(geopotential height at mid level) and zi(geopotential height at interfaces)
using composition dependent rog(gas constant/gravity).

'gw_drag.F90'(Compute forcing due to breaking of internal gravity waves from convection, orography,
frontal systems.) .../physics/waccm/

subroutine gw_drag_prof(Calculate profiles of temperature, density, and Brunt-Vaisalla frequency
on interface levels):

Line 1095: Declared variable ktop_gw and assigned a value of 3

Line 1125: Use ktop_gw as top level for loop to get stress profiles
ktop_gw controls the top level where beginning apply GW forcing. This level should stop within the
domain according to study by Ted Shepherd.

Added ifdef WACCM_TIPHYS for variable ktop_gw set to 1

'inti.F90'(Set constants and initialize variables for physics routines) .../physics/cam1/

Line 28: Use subroutine mspd_inti from majorsp_diffusion module
We should put this in an ifdef WACCM_TIPHYS
Added ifdef WACCM_TIPHYS for call to this subroutine

Line 115: Call subroutine mspd_inti to set up parameters for major species diffusion.

'iondrag.F90'(Calculate ion drag tendency and apply to horizonal velocities(winds?) and
calculate joule heating tendency and apply to temperature) .../chemistry/waccm_mozart/

subroutine jouleheat_tend(Calculate joule heating tendency and apply to temperature):

Line 1017,1023: In write statements, use
qjoule/state%cpairv(composition dependent specific heat at constant pressure) instead of
qjoule/cpair(specific heat at constant pressure)

Line 1033: Replaced cpair(specific heat) with state%cpairv(composition dependent specific heat)

New module 'majorsp_diffusion.F90' to calculate molecular diffusion of major species
This should be called for WACCM_TIPHYS.
Added ifdef WACCM_TIPHYS for call to subroutine mspd_inti

'mo_mean_mass.F90'(Calculate mean mass from species mixing ratios) .../chemistry/waccm_mozart/

subroutine set_mean_mass(Calculate mean mass from combination of N2, O2, O, and H mixing ratios):

Line 42: Set logical parameter fixed_mbar to .false.
For the extended model, mean molecular weight (mbar) is no longer a constant, so this flag
is set to false.
Added ifdef WACCM_TIPHYS for setting this flag to false

Other "hi_waccm" comments but no code changes?
Should be removed. REMOVED

'mo_tgcm_ubc.F90'(Get input TIME-GCM upper boundary data) .../chemistry/waccm_mozart/

subroutine set_tgcm_ubc(Get upper boundary H, H2, H2O, and CH4 from TIME-GCM):

Line 605: Replaced mw_dry(mean mass at top level) with mbartop(composition dependent mean mass)
in interface of subroutine set_tgcm_ubc

Line 622: Replaced declaration of mw_dry(mean mass of dry air at top level) with
mbartop(composition dependent mean mass at top level)

Line 658: Added calculation of mass mixing ratio before call of cnst_get_ind

Line 661: In calculation of mass mixing ratio, replace
mw_dry(mean mass of dry air at top level) with
mbartop(composition dependent mean mass at top level)

'mo_waccm_hrates.F90'(Calculate short wavelength, long wavelength, EUV, and auroral heating rates)
.../chemistry/waccm_mozart/

subroutine waccm_hrates(Calculate short wavelength, long wavelength, EUV, and auroral heating rates):

Line 181: Replaced call to set_mean_mass with loop to calculate composition dependent
mbar(mean wet atmospheric mass)

Line 234: Replaced call to call_cp with loop to load state%cpairv(composition dependent specific heat)
into cpair(specific heat)

'molec_diff.F90'(Compute molecular conductivity and diffusivity for minor species) .../physics/cam1/

Line 32: Assigned different value to parameter pwr(exponentiation factor)

subroutine init_molec_diff(Initialize time dependent coefficients):

Line 68: Added declaration of variable indx_H(index of H in the species array)

function compute_molec_diff:(Compute constituent independent terms for molecular diffusivity)

Line 113: Added variables cpairv(composition dependent specific heat for constant pressure),
rairv(composition dependent gas constant), mbarv(composition dependent mean mass),
kmvis(molecular viscosity), and kmcnd(molecular conductivity) to call of function compute_molec_diff

Line 131: Declare new variables passed into subroutine,
cpairv(composition dependent specific heat for constant pressure),
rairv(composition dependent gas constant), mbarv(composition dependent mean mass),
kmvis(molecular viscosity), and kmcnd(molecular conductivity)

Line 150: Modified declaration of variable
mw_fac_out(composition dependent molecular weight factor on interface levels) to include two
additional dimensions, vertical and horizontal?

Line 164: Added declaration of variable mbarvi(composition dependent mean mass at interface levels)

Line 170: Added ubc_mmr(upper boundary mass mixing ratios), rairv(composition dependent gas constant),
and mbarv(composition dependent mean mass) to argument list in call to subroutine ubc_get_vals

Line 181: Added loops to calculate mbarvi(composition dependent mean mass at interface levels) and
mw_fac_out(composition dependent molecular weight factor on interface levels)

Line 200: Modified calculation of tint(interface temperature) to no longer use
ubc_t(upper boundary temperature)

May want to use ifdef WACCM_TIPHYS at both places. In the latter case, if WACCM_TIPHYS is not set
then use tint (:ncol,ntop_molec) = ubc_t(:ncol) (currently commented out).
Added ifdef WACCM_TIPHYS for both

Line 204: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 205: Modified calculation of rhoi(density at interfaces), replacing
rair(gas constant for dry air) with rairv(composition dependent gas constant)

Line 221: Calculation of kvh(diffusivity for heat) includes kmvis(molecular viscosity) and
kmcnd(molecular conductivity) instead of km_fac(molecular viscosity constant) and
tint(interface temperature)

Line 232: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 233: Calculation of dse_top(dse at top boundary) includes
cpairv(composition dependent specific heat for constant pressure) instead of cpair(specific heat)

function vd_lu_qdecomp:(Compute constituent dependent terms for molecular diffusivity and update
terms of the diffusion equation matrix)

Line 249: Added mbarv(composition dependent mean mass), pmid(midpoint pressures),
pint(interface pressures), t(temperature), and alphat(thermal diffusion factor) to arguments in
vd_lu_qdecomp function call

Line 275: Variable mw_facm(composition dependent molecular weight factor) declared as a 2D array
instead of a scalar

Line 276: Declarations of mbarv(composition dependent mean mass), pmid(midpoint pressures),
pint(interface pressures), t(temperature), and alphat(thermal diffusion factor) added

Line 304: Added gradm(question) , and gradt(question) declarations

Line 314: Added declaration of mbarvi(composition dependent mean mass at interface)

Line 327: Assign rghd(question) and gradm(question) a value of zero

Line 333: Changed loop which calculates rghd(question) , gradm(question) , and gradt(question) to loop over all but the
top and bottom point

Line 335: Calculation of mbarvi(composition dependent mean mass at interface levels) added

Line 336: Calculation of rghd(question) includes mbarvi(composition dependent mean mass at interface levels)
instead of mw_dry(molecular weight of dry air)

Line 338: Added calculation of gradm(question) and gradt(question)

Line 344: Added loops to calculate rghd(question) , gradm(question) , and gradt(question)

Line 371: Use mw_facm(composition dependent molecular weight factor) array instead of scalar in
calculation of kmq(molecular diffusivity for constituent)

Line 373: Modified calculation of wrk1(temporary working array)

Line 385: Added calculation of kmq(molecular diffusivity for constituents),
wrk0(temporary working array), wrk(temporary working array), and
kvq(eddy diffusivity for constituents) and modified calculation of
cc(subdiagonal of diffusion matrix)

Lines 399,409,417: Modified calculation of cb(diagonal of diffusion matrix)

Line 422: Added calculation of kvq(eddy diffusivity for constituents)

'nlte_lw.F90'(Calculate non-LTE heating rates) .../physics/waccm/

subroutine nlte_tend:(Calculate non-LTE factors and apply to appropriate constituents)

Line 264(285 in tag 14): Calculation of qout(temporary array for outfld call) includes
state%cpairv(composition dependent specific heat for constant pressure) instead of
cpair(specific heat)

Line 266(287 in tag 14): Calculation of qout(temporary array for outfld call) includes
state%cpairv(composition dependent specific heat for constant pressure) instead of
cpair(specific heat)

'par_xsum.F90' is the same as '...dynamics/fv/par_xsum.F90'

'phys_adiabatic.F90'(Zero out physics tendencies for adiabatic runs) .../physics/cam1/

Line 53: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 57: Variable rair(gas constant for dry air) replaced with
phys_state%rairv(composition dependent gas constant)

'phys_idealized.F90'(Driver for idealized(question) physics) .../physics/cam1/

Line 57: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 61: Variable rair(gas constant for dry air) replaced with
phys_state%rairv(composition dependent gas constant)

'physics_types.F90'(Contains utilities related to physics tendencies) .../physics/cam1/

Line 97: Declare new variables in the structure,
cpairv(composition dependent specific heat for constant pressure),
rairv(composition dependent gas constant), cappav(ratio of rairv/cpairv),
mbarv(composition dependent mean mass), kmvis(molecular viscosity), and kmcnd(molecular conductivity)

Line 168: Use variable cnst_mw(constituent molecular weights) from constituents module

Line 170: Use variable shr_const_rgas(universal gas constant) from shr_const_mod module

Line 190: Declare integer variables(ixo,ixo2,ixh,ixh2,ixn,ixh2o) for constituent indices

Line 191: Declare variables(mmro, mmro2, mmrh, mmrn2) to hold constituent data

Line 192: Declare mbarvi(composition dependent mean mass at interface levels), tint(interface temperature),
and cpairvi(interface specific heat at constant pressure)

Line 220: Removed loops to update dry static energy

Line 225: Call cnst_get_ind to get ixh(index of H in data array) and ixh2(index of H2 in data array)

Line 240: Added check for large H and H2 values and replace high values

Line 293: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 295: Using O, O2, N and N2 constituents (should include H(question) ), update state structure variables
mbarv(composition dependent mean mass), rairv(composition dependent gas constant),
cpairv(composition dependent specific heat for constant pressure), and cappav(ratio of rairv/cpairv)

Line 318: Using O, O2, N and N2 constituents (should include H(question) ), update state structure variables
kmvis(molecular viscosity) and kmcnd(molecular conductivity)

Line 346: Added update of s(dry static energy)

Line 352: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 353: Update tend%dtdt with state%cpairv(composition dependent specific heat for constant pressure)
instead of cpair(specific heat)

Line 373: In call to subroutine geopotential_dse, added state%rairv(composition dependent gas constant)
and state%cpairv(composition dependent specific heat for constant pressure)

subroutine physics_dme_adjust:(Adjust dry mass energy back to input state(question) )

Line 621: Added state%rairv(composition dependent specific heat for constant pressure) and
stat%cpairv(composition dependent specific heat for constant pressure)

subroutine physics_state_copy:(Copy variables in the physics 'state' structure)

Line 681: Added ifdef for WACCM_MOZART
Changed WACCM_MOZART to WACCM_TIPHYS

Line 682: Loops to fill cpairv(composition dependent specific heat for constant pressure),
rairv(composition dependent gas constant), mbarv(composition dependent mean mass),
cappav(ratio of rairv/cpairv), kmvis(molecular viscosity), and kmcnd(molecular conductivity) variables in
state_out structure

'prognostics.F90'(Handle prognostic(question) variables) .../dynamics/fv/

Line 61: Added ifdef for WACCM_MOZART and declared variables cpair3v(constituent dependent specific heat),
rair3v(constituent dependent gas constant), and cappa3v(constituent dependent rairv3/cpari3v)
Changed WACCM_MOZART to WACCM_TIPHYS

subroutine initialize_prognostics:(Initialize prognostic(question) variables)

Line 116: Added ifdef for WACCM_MOZART and allocate cpair3v(constituent dependent specific heat),
rair3v(constituent dependent gas constant), and cappa3v(constituent dependent rairv3/cpari3v)
Changed WACCM_MOZART to WACCM_TIPHYS

Line 155: Added ifdef for WACCM_MOZART and set cpair3v(constituent dependent specific heat),
rair3v(constituent dependent gas constant), and cappa3v(constituent dependent rairv3/cpari3v) to 'inf'(question)
Changed WACCM_MOZART to WACCM_TIPHYS

'radheat.F90'(Converts shortwave and longwave heating into net heating. nonLTE and eUV(question) ) .
../physics/waccm/

subroutine radheat_tend:(Compute net shortwave and longwave radiative heating and boundary flux. nonLTE
and eUV(question) )

Line 235(278 in tag 14): Add state%cpairv(constituent dependent specific heat) to arguments in call to subroutine
merge_qrs

Line 236(279 in tag 14): Replace cpair(specific heat) with state%cpairv(constituent dependent specific heat) in
calculation of qout(temporary array for outfld call QRS_TOT)

Line 247(292 in tag 14): Replace cpair(specific heat) with state%cpairv(constituent dependent specific heat) in
calculation of qout(temporary array for outfld call QRL_TOT)

subroutine merge_qrs:(Merge shortwave heating rates)

Line 266(313 in tag 14): Add state%cpairv(constituent dependent specific heat) to arguments of interface to
subroutine merge_qrs

Line 278(328 in tag 14): Add cpairv(constituent dependent specific heat) declaration

Line 290(341 in tag 14): Replace cpair(specific heat) with cpairv(constituent dependent specific heat) in calculation
of hmrg(merged heating rates) for mesophere/lower thermosphere?

Line 295(350 in tag 14): Replace cpair(specific heat) with cpairv(constituent dependent specific heat) in calculation
of hmrg(merged heating rates) for region below mesosphere/lower thermosphere but above original(question)

'stepon.F90'(Does looping over time steps and accesses routines to perform physics and dynamics
calculations) .../dynamics/fv/

Line 467: Added ifdef for WACCM_MOZART and loops to update variables
cpari3v(constituent dependent specific heat), rair3v(constituent dependent gas constant), and
cappa3v(constituent dependent rairv3/cpari3v)
Changed WACCM_MOZART to WACCM_TIPHYS

'te_map.F90'(Map vertical Lagrangian coordinates(question) to normal grid(question) ) .../dynamics/fv/

Line 458: Set omga(vertical pressure velocity(question) ) to zero instead of calculating for first level(question) index

Added ifdef WACCM_TIPHYS for setting first level of omga array to zero

'tphysac.F90'(Compute tendencies related to physics after coupling to land, sea, and ice models
including vertical diffusion, planetary boundary layer, and gravity waves) .../physics/cam1/

Line 34: Use subroutine mspd_intr from major_diffusion module
Added ifdef WACCM_TIPHYS for use of mspd_intr

Line 155,156,178,179,206,207,234,235,260,261,285: Commented out write statements

Line 203: Added call to subroutine mspd_intr
Added ifdef WACCM_TIPHYS for call to mspd_intr

'upper_bc.F90'(Compute upper boundary conditions for temperature(dry static energy) and trace
constituents) .../chemistry/waccm_mozart/

subroutine ubc_init:(Initialization of upper boundary condition time independent fields)

Line 125,131,137: Commented out write statements

subroutine ubc_get_vals:(Upper boundary condition interface routine for vertical diffusion and
planetary boundary layer(question) )

Line 164: Variables rairv(composition dependent gas constant) and
mbarv(composition dependent mean mass) added to interface of subroutine ubc_get_vals

Line 180: Declarations of rairv(composition dependent gas constant) and
mbarv(composition dependent mean mass) added

Line 204: Replaced rair(gas constant) with rairv(composition dependent gas constant) at top
interface in calculation of rho_top(density at top interface)

Line 208: Replaced mwdry(mean mass of dry air) with mbarv(composition dependent mean mass) at
top interface

'vertical_diffusion.F90'(Compute vertical diffusion of momentum, moisture, trace constituents,
and static energy. gravity waves(question) ) .../physics/cam1/

subroutine vertical_diffusion_tend:(Interface routine for vertical diffusion)

Line 345 and 364: Add state structure variables
cpairv(composition dependent specific heat for constant pressure),
rairv(composition dependent gas constant), mbarv(composition dependent mean mass),
kmvis(molecular viscosity), and kmcnd(molecular conductivity) to arguments in call of subroutine
compute_vdiff

  • No labels