Tag name: cam5_1_15
Originator(s): liuh,joemci,fvitt,eaton
Date: Mon Nov 21 14:59:37 MST 2011
One-line Summary: Add in WACCM-X and fix WACCM bug
Purpose of changes:
. WACCM-X is the extension of the WACCM/CAM model from the lower thermosphere
to the top of the thermosphere. The neutral thermosphere physics are added
here which involves modifications to a number of physics and chemistry
modules.
Later WACCM-X modifications will include ion transport and electrodynamics.
Bugs fixed (include bugzilla ID):
. Fixed a bug in the gw_drag module so that only molecular diffusion is
used instead of molecular and eddy diffusion in gravity wave drag
calculations
Describe any changes made to build system:
. New configure option -waccmx added to turn on WACCM-X physics. Also
added WACCMX cppdef and a WACCM-X physics directory to file paths.
. Added defaults xml file for WACCM-X configure defaults
Describe any changes made to the namelist:
. Namelist default variables set for WACCM-X with one new variable
waccmx_opt which is a run time flag to turn on WACCM-X physics
List any changes to the defaults for the boundary datasets: none
Describe any substantial timing or memory changes: not checked
Code reviewed by: eaton, fvitt, fischer
List all subroutines eliminated: none
List all subroutines added and what they do:
models/atm/cam/src/physics/cam/iondrag.F90
models/atm/cam/src/physics/cam/ionosphere.F90
models/atm/cam/src/physics/cam/majorsp_diffusion.F90
. added as dummy interfaces for new WACCM-X physics modules/methods
models/atm/waccmx/src/physics/cam/ionosphere.F90
models/atm/waccmx/src/physics/cam/majorsp_diffusion.F90
. new WACCM-X physics modules
List all existing files that have been modified, and describe the changes:
models/atm/cam/src/chemistry/mozart/chemistry.F90
. change to no fixed upper boundary for WACCM-X and add photo_register and
aurora_register method calls
models/atm/cam/src/chemistry/mozart/mo_aurora.F90
. put ionization rates in pbuf
models/atm/cam/src/chemistry/mozart/mo_gas_phase_chemdr.F90
. add pbuf to table_photo and setext interfaces
models/atm/cam/src/chemistry/mozart/mo_jeuv.F90
. add number of photo-ionization rates put in pbuf
models/atm/cam/src/chemistry/mozart/mo_jshort.F90
. increas scale height for WACCM-X and set minimum value for cross-sections
models/atm/cam/src/chemistry/mozart/mo_mean_mass.F90
. constituent dependent mean mass for WACCM-X
models/atm/cam/src/chemistry/mozart/mo_photo.F90
. increase maximum zenith angle, add pbuf to table_photo interface and
add photo-ionization rates to pbuf
models/atm/cam/src/chemistry/mozart/mo_setext.F90
. add pbuf to setext and aurora interfaces
models/atm/cam/src/chemistry/mozart/mo_tgcm_ubc.F90
. add column dimension to mean mass array to allow dependence on
composition
models/atm/cam/src/chemistry/mozart/mo_waccm_hrates.F90
. increase zenith angle and use constituent dependent mean mass and specific
heat for WACCM-X
models/atm/cam/src/chemistry/mozart/upper_bc.F90
. add upper boundary flux to ubc_get_vals interface, constituent
dependent mean mass to set_tgcm_ubc interface, and pbl height to
chem_timestep_tend interface
. calculate upper boundary flux and use constituent dependent gas constant in
upper boundary mixing ratio calculation
models/atm/cam/src/chemistry/pp_none/chemistry.F90
. add pbl height to chem_timestep_tend interface
models/atm/cam/src/chemistry/pp_waccm_mozart_v1/mo_jeuv.F90
. add number of photo-ionization rates put in pbuf to be compatible with mozart
mo_jeuv
models/atm/cam/src/chemistry/pp_waccm_mozart_v1/mo_photo.F90
. increase maximum zenith angle, add pbuf to table_photo interface to be
compatible with mozart mo_photo
models/atm/cam/src/control/physconst.F90
. add physconst_init and physconst_update methods
models/atm/cam/src/dynamics/eul/dp_coupling.F90
. add constituent dependent zvir and rair to geopotential_t method interface
models/atm/cam/src/dynamics/fv/dp_coupling.F90
. add constituent dependent zvir and rair to geopotential_t method interface and
call to physconst_update method
models/atm/cam/src/dynamics/homme/dp_coupling.F90
. add constituent dependent zvir and rair to geopotential_t method interface
models/atm/cam/src/dynamics/sld/dp_coupling.F90
. add constituent dependent zvir and rair to geopotential_t method interface
models/atm/cam/src/physics/cam/constituents.F90
. add fixed upper bondary flux and molecular diffusion type to cnst_add
interface and add method to retrieve molecular diffusion type
models/atm/cam/src/physics/cam/diffusion_solver.F90
. add fixed upper boundary flux and molecular diffusion modifications to
compute_vdiff interface, add molecular conductivity calculation and apply to
temperature, and remove eddy diffusivity from molecular diffusion
models/atm/cam/src/physics/cam/eddy_diff.F90
. add fixed upper boundary flux and molecular diffusion modifications to
compute_vdiff interface
models/atm/cam/src/physics/cam/geopotential.F90
. add constituent dependency to geopotential calculations
models/atm/cam/src/physics/cam/initindx.F90
. add iondrag_register and ionos_register method calls for WACCM-X
models/atm/cam/src/physics/cam/micro_mg_cam.F90
. removed use statement accessing pcnst since not used in module (bug with PGI)
models/atm/cam/src/physics/cam/molec_diff.F90
. add variables to interface of vd_lu_decomp and capability to solve for
temperature in addition to dry static energy
. add calculation of thermal diffusion coefficient, add upper boundary flux to
molecular compute_molec_diff, and add calculation of molecular conductivity
models/atm/cam/src/physics/cam/phys_control.F90
. add access to WACCM-X run time option and add phys_ctl_init method to set top
and bottom levels for eddy and molecular diffusion operate and molecular
diffusion switch. Also add access to the these through phys_getopts method
models/atm/cam/src/physics/cam/physics_types.F90
. set maximum values for H and H2 mixing ratios for WACCM-X, add call to
physconst_update method, add update of dry static energy, and add
constituent dependent variables to geopotential_dse call
models/atm/cam/src/physics/cam/physpkg.F90
. add calls to physconst_init, phys_ctl_init, mspd_init, and ionos_init methods
models/atm/cam/src/physics/cam/tphysac.F90
. access molecular viscosity from pbuf and gw_intr call, add pblh to chem_timestep_tend
call, and add WACCM-X calls to mspd_intr and ionos_intr methods
models/atm/cam/src/physics/cam/vertical_diffusion.F90
. add molecular diffusion field list, add molecular conductivity to pbuf, and add calls to
phys_getopts to get molecular diffusion switch and top and bottom levels for eddy and
molecular diffusion to operate
models/atm/cam/src/physics/waccm/gw_drag.F90
. calculate and use molecular diffusivity instead of molecular+eddy diffusivity and access
bottom level for molecular diffusion using phys_getopts method
models/atm/cam/src/physics/waccm/iondrag.F90
. add Pedersen and Hall conductivities to pbuf
models/atm/cam/src/physics/waccm/nlte_lw.F90
. use constituent dependent constants for output heating rate calculations
models/atm/cam/src/physics/waccm/radheat.F90
. use constituent dependent constants for heating rate calculations
If there were any failures reported from running test_driver.sh on any test
platform, and checkin with these failures has been OK'd by the gatekeeper,
then copy the lines from the td.*.status files for the failed tests to the
appropriate machine below. All failed tests must be justified.
bluefire:
033 bl336 TBL.sh wm4c4h outfrq3s+waccm_1850_cam4 9s .......................FAIL! rc= 7 at Tue Nov 15 14:03:51 MST 2011
060 bl379 TBL.sh wm1.9c4h outfrq24h+waccm_1850_cam4 2d ....................FAIL! rc= 7 at Tue Nov 15 16:28:26 MST 2011
Failures are expected baseline comparison failures due to gravity wave drag bug fix.
edinburgh/lf95:
036 bl314 TBL.sh wg10c4dm outfrq3s 9s .....................................FAIL! rc= 7 at Tue Nov 15 17:53:29 MST 2011
Failure is expected baseline comparison failure due to gravity wave drag bug fix.
hopper/pgi:
035 bl314 TBL.sh wg10c4dm outfrq3s 9s .....................................FAIL! rc= 7 at Wed Nov 16 14:41:19 PST 2011
Failure is expected baseline comparison failure due to gravity wave drag bug fix.
CAM tag used for the baseline comparison tests if different than previous
tag:
Summarize any changes to answers: WACCM answers changed due to gravity wave drag bug fix