Known Limitations in CLM4/CESM1.1.0                              Nov/08/2012

As opposed to the KnownBugs file where we expect that eventually we will find a 
fix, these are limitations that we do NOT have plans to fix. They are simply known
limitations that we describe workarounds for below. In the course of doing other
work they may be resolved, but we do not plan on addressing them directly. We 
reference "bug numbers" in this list, but these are things where those "bugs" 
were closed out with a "will-not-fix".

====================================================================================
Bug Number: 1355
tlai is zero for first two time-steps in CLMSP

tlai is zero for time-steps 0, and 1 when doing a startup simulation.

For CLMSP EcosystemDyn is only done when doalb is true, and it's NOT called at
initialization. At initialization for CLMSP it doesn't setup tlai, and only
does a barebones setting of vars. In contrast CLMCN calls it's EcosystemDyn
every time step (and not just when doalb is true), and at initalization it
calls CNAllocation and CNPhenology, so it's got at least something going. With
an initialization more similar to CN it would at least make sure tlai is set.

====================================================================================
Bug Number: 1310
Difference in restart files for differing number of tasks/threads

This is from Bill Sacks...

With Mariana's help, I believe I have uncovered a minor bug in the urban model;
this came up while testing the new CLM multi-instance code that I have been
working on. This appears as a difference in the lnd restart files depending on
the number of processors. It's possible that this is unimportant, but I thought
I'd let you know anyway.

In particular, the two variables albgrd and albgri differ in some urban
landunits in the CLM restart files. I have confirmed this with the latest clm
tag (clm4_0_26), doing a 5-day run with resolution f19_g16, and comparing
results using 64 vs. 16 tasks for the land model. You can see the output of
cprnc in
/ptmp/sacks/archive/clm4_0_26.init.quarterPEs/rest/0001-01-06-00000/cprnc.out


I believe that what is going on is the following: 

(1) In UrbanMod.F90: UrbanAlbedo: A count is made of the number of urban
landunits with coszen > 0 (num_solar); note that this count is just of the
number of landunits that this processor is responsible for; thus, this is where
the # PE-dependence comes in, I think.

(2) Later in that subroutine, a bunch of calculations are done if num_solar > 0
-- i.e., if this PE is responsible for at least one urban landunit with coszen
> 0. Note that many of these calculations are done for all landunits, even ones
for which coszen = 0. This introduces the possibility for different results
depending on the decomposition.

(3) The particular difference that I am seeing is in albgrd & albgri. These are
initialized to 0 at the start of the subroutine, and so remain 0 on any PE for
which num_solar = 0. However, for PEs with num_solar > 0, landunits that have
coszen = 0 end up getting albgrd = albgri = 1. This is because the calculation
of albgrd & albgri depends on the values of the sref_* variables, which are
initialized to 1 (and stay at 1 for any landunit for which coszen = 0).

====================================================================================
Bug Number: 1147
mkgriddata regional grids can't straddle over Greenwich

mkgriddata is not able to run for any domain that has Eastern edge > Western
edge, because it straddles across the 0 degree longitude line. 

The workaround is to divide the domain into two and run two regional grids.

====================================================================================
Bug Number: 1110
dtlimit error with datm8 when a full year isn't available

datm8 dies with a dtlimit error as follows when your atm forcing data doesn't
include an entire year (such as the MexicoCity and Vancouver urban test sites).

(shr_dmodel_readLBUB) reading file:
/fs/cgd/csm/inputdata/atm/datm7/CLM1PT_data/mexicocityMEX.c080124/clm1pt-1993-12.nc
    160
(datm_comp_run) atm: model date 19931207   57600s
(shr_dmodel_readLBUB) reading file:
/fs/cgd/csm/inputdata/atm/datm7/CLM1PT_data/mexicocityMEX.c080124/clm1pt-1993-12.nc
      1
 (shr_strdata_advance) ERROR: dt limit1  358.375011574074051
0.416666666666666297E-01 1.50000000000000000
 (shr_strdata_advance) ERROR: dt limit2  19931207 61199 19941201 7200
(shr_sys_abort) ERROR: (shr_strdata_advance) ERROR dt limit
(shr_sys_abort) WARNING: calling shr_mpi_abort() and stopping

This is because the model runs out of data and loops around to the beginning of the
year, and hence has a large time-step difference to the rest of the data when it
loops around. You can remove this problem if you increase dtlimit (normally 1.5 and
represents the ratio of the largest allowed relative difference in time intervals
for the data). Or you just make sure that your input data doesn't have these type
of abnormal jumps of missing data.

====================================================================================
Bug Number: 1100
Trouble compiling with pgi7

The model does NOT compile using PGI7.2.2. It DOES compile with later versions of the
PGI compiler, such as 9.0.4.

The workaround is to use a later version of the PGI compilers.

====================================================================================
Bug Number: 1017 and 1025
PTS_MODE can NOT restart or use a global finidat file

Single column mode (or PTS_MODE turned on using the -pts_lat and -pts_lon options in
scripts/create_newcase) can NOT read restart files or global finidat initial condition
files.

The workaround is to use the models/lnd/clm/tools/ncl_scripts/getregional_datasets.pl 
script to create datasets from the global datasets. See the CLM User's Guide and the
README documentation in the ncl_scripts directory as well as in the script itself.

Here's the message that happens when you try to run from a restart file.

(OPNFIL): Successfully opened file ./rpointer.lnd on unit=  14
 Reading restart data.....
------------------------------------------------------------
 (GETFIL): attempting to find local file
c40b19+.I.pts.01.clm2.r.0001-01-06-00000.nc
 (GETFIL): using c40b19+.I.pts.01.clm2.r.0001-01-06-00000.nc in current working
directory
 Reading restart dataset
 ERROR - setlatlon.F:Cant get variable dim for lat or lsmlat
 ENDRUN: called without a message string

====================================================================================
Bug number: 896
CLM won't run at T62

We aren't quite sure why. But we've found that CLM currently won't run at T62 resolution
the same resolution as the input CLM-Qian atmosphere forcing data.

====================================================================================
Bug number: 652
Output different for different number of threads PGF90

PGI Version 6.1.6, and NetCDF Version 3.6.2. Works on other platforms/compilers and
also works with PGI-7.0-7.

The workaround is to use another compiler or a later version of the PGI compiler.

====================================================================================
Bug Number: 452
Problem with support of number of soil-colors NOT equal to 8 or 20

The mksurfdata tools file mksoicol.F90 sets nsoicol to the max value found in
the input soilcolor file:
  nsoicol = maxval(soil_color_i)

However, the code will fail if  nsoicol does not equal 20 or 8 (which it might
in paleo cases).  perhaps the code should be extended to handle a case where
nsoicol is not 20 or 8.

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