Dear all, 

The following are the bugs fixed in RegCM4.2 with CLM opiton when I tested it.


Bug 1: the types between lm and lmask are mismatched in mod_lm_interface.F90, line 112

Fix: Below line 106 add the follow line:

integer , pointer ,             dimension(:,:) :: lm_tmp

lm_tmp => lm

Change line 122 to

call assignpnt(lm_tmp,lmask)

 

Bug 2: SST was the same for every month when using GISST in mod_sst_1deg.F90

Fix:  move line 153 “call split_idate(idate,year,month,day,hour)”  into the do-loop just below it. (Fixed by Bennington Valerie in CCR UW-Madison)


Bug 3: There is no assigned value for the array “satbrt_clm” in surfrdMod.F90.patch

Fix: 

Step 1: Below line 129, define a new variable lndcatf in mod_bats_common.F90

real(dp) , pointer , dimension(:,:) :: lndcatf       ! mddom_io%lndcat chengs++

 

Step 2: Below line 109, assign the value to lndcatf in mod_lm_interface.F90

call assignpnt(dom1%lndcat,lndcatf) ! chengs++

 

Step 3: Change line 118 in mod_mtrxclm.F90 to the following:

use clm_varsur,    only : landmask , landfrac, satbrt_clm  ! chengs++ satbrt_clm

 

allocate the array satbrt_clm after line 200:

if ( .not.allocated(satbrt_clm) ) allocate(satbrt_clm(iy,jx))  ! chengs++

 

Assign the values for satbrt_clm from lndcaft below line  207:

satbrt_clm(i,j) = lndcatf(i,j)

 

But 4: Monthly vegetation data XXX_RCMlai.nc only has one time slice in it. It should have 12 time slices.

 

Fix:  According to the file of clm2rcm.F90 in RegCM-4.1.1 to change the value of "xhr"  in the do-loop at line 458 in clm2rcm.F90 in RegCM-4.2

 

But 5: Calendar problem in CLM

Note: only Gregorian and noleap calendars can be used in CLM now.

 

If you define Gregorian calendar in your regcm.in:

Step1: delete "#define NO_LEAP_CALENDAR"    in ESMF.inc 

Step 2: change “ESMF_CAL_GREGORIAN” in line 392 and line 410 to “GREGORIAN” in clm_time_manager.F90



Guangshan Chen
Center for Climatic Research
University of Wisconsin-Madison