Main menu

Navigation

Known bugs in chemistry compsets

2 posts / 0 new
Last post
tilmes
Known bugs in chemistry compsets

Please consider the currently known bugs in CESM1.1.1. and CESM1.2.0 if running compsets with chemistry!

mmills

A bug in the chemistry pre-processor can produce non-conservative solutions for chemistry mechanisms that have 99 or more species. This bug is present in all released and development version of CESM.

 

In the file: cam/chem_proc/src/cam_chempp/make_map.f

the variable cls_rxt_map defaults to -99.

 

This causes a problem in cam/chem_proc/src/cam_chempp/pl_code.f, where the reaction rate is calculated:

 

rate = REAL( count( abs( cls_rxt_map(k,4:prd_lim+3,class) ) == species ) )

 

If there is a species 99, this reaction rate can incorrectly be multiplied by 2 or more, as this line falsely counts the default -99 setting as matching the species number.

 

The fix is to change the default value of cls_rxt_map in cam/chem_proc/src/cam_chempp/make_map.f:

 

===================================================================

--- cam_chempp/make_map.f       (bug)

+++ cam_chempp/make_map.f       (fix)

 

                exit

             end if

          else

-            cls_rxt_map(kp3) = -99

+            cls_rxt_map(kp3) = -huge(0)

          end if

       end do

===================================================================

 

This will only fix the bug when a usr_mech_infile is used to create the chemistry subroutines. Existing chemistry mechanisms that have 99 or more species in the source code under cam/src/chemistry may have the bug in those chemistry mechanisms.

This bug has been reported here: http://bugs.cgd.ucar.edu/show_bug.cgi?id=2535

Mike Mills
WACCM Liaison
Atmospheric Chemistry Division
NCAR Foothills Lab
Boulder, Colorado USA

Log in or register to post comments

Who's new

  • siyuan
  • yuenai@...
  • petisascom@...
  • xiaoning.wu.1@...
  • nburls@...