Skip to content

Tags: yelizy/ctsm

Tags

clm5.0.dev006

Toggle clm5.0.dev006's commit message
Don't allocate memory for zero-weight natveg patches and urban

We have previously been allocating memory for all urban columns and all
natural veg PFTs, everywhere. In some cases this may still be desired,
but in some cases - and particularly non-transient cases - this is a
waste of memory and performance without any benefit.

In timing runs of a CONUS test case set up by Mike Barlage, where there
were 2 PFTs per gridcell (bare plus grass), only allocating memory for
the non-zero-weight points (i.e., 2 natural pfts per gridcell and
nothing else) reduced land run time from 56.4 sec to 21.6 sec.

This tag puts in place a more general solution, avoiding allocating
memory for zero-weight natural PFTs in non-transient runs, and avoiding
allocating memory for zero-weight urban points unless requested with a
namelist flag.

For non-transient runs, this change improves performance and decreases
memory and restart file size substantially: For short timing runs on
cheyenne_intel at f09_g16 (I haven't looked closely at memory use, but
it probably is about the same reduction as the restart file size):
- I1850Clm50Sp
  - 91% of the runtime (i.e., 9.0% reduction in runtime)
  - Restart file size is 32% of original (68% reduction)
- I1850Clm50Bgc
  - 77% of the runtime (i.e., 23% reduction in runtime)
  - Restart file size is 33% of original (67% reduction)
- I1850Clm50BgcCrop
  - 80% of the runtime (i.e., 20% reduction in runtime)
  - Restart file size is 37% of original (63% reduction)

(Non-transient cases should also be improved due to the urban change,
but I haven't investigated the improvement there.)

This tag also fixes some other bugs, as noted below.

NOTE: This change requires running init_interp on any existing initial
conditions files! In addition, moving forward, init_interp will always
be needed when going from a non-transient to a transient run (this has
already been the case when running with crop; now it will also be the
case when running without crop, too).

clm5.0.dev005

Toggle clm5.0.dev005's commit message
Two fixes for init_interp:

(1) Copy as many snow layers as possible in init_interp

    In most cases, we only need data from the existing snow layers. But in a
    few cases - in particular, the flx_abs* variables - we need data even
    from non-existing snow layers in order for interpolation to be
    bit-for-bit. The change here reworks snow interpolation so that, in
    addition to copying the existing snow layers, we also copy as many
    non-existing snow layers as will fit in the destination layer structure.

    Fixes ESCOMP#326

(2) For glcmec, match col/patch types in some cases

    If glcmec used the same elevation class definitions in input and output,
    then match classes as we do for most landunit types, rather than just
    using topographic heights. (An exception is output cells with the
    single_at_atm_topo behavior, because their types could change once we
    enter the run loop.)

    Fixes ESCOMP#325

The new behavior is covered by unit tests. This tag also expands some
unit testing infrastructure to facilitate the addition of some of these
unit tests.

I have confirmed that this test passes:
LII_D_Ld9.f09_g16.I1850Clm50SpCru.hobart_intel.clm-default, when I point
to an initial conditions file that I generated from the dev 002 tag
(because I wasn't sure if the current default initial conditions file
was exactly compatible with the latest master). Before the changes in
this tag, that test was failing.

** Changes answers for all cases with use_init_interp = .true.

clm5.0.dev004

Toggle clm5.0.dev004's commit message
A list of important bug and usability fixes. One of those changes mak…

…es it easier for the user to end up with

initial condition files that don't match the start date of their simulation. This is problematic because of the
saved counters for prognostic crop. For sure a mismatched date will end up with bad results for the first season,
but this will also affect subsequent years running averages. So we don't recommend that you do that.

Jim Edwards also brought in some changes for PIO for 64bit_data, and to fix fill values for integer data. And we updated
manage_externals to the newest version.

clm5.0.dev003

Toggle clm5.0.dev003's commit message
These are bug fixes for the land energy imbalance over land as determ…

…ined by coupler diagnostics.

They include bug fixes for surface water phase change and lake/snow interactions developed by
Sean Swenson and Keith Oleson.

clm5.0.dev002

Toggle clm5.0.dev002's commit message
Add some land ice diagnostic vars needed for CMIP6

Add some diagnostic variables needed for analyzing land ice that have
been requested by some of the MIPs in CMIP6 (especially ISMIP).

Also, fixes c2l_scale_type to fix urban scaling for SNOWICE, SNOWLIQ

Some changes from Leo van Kampenhout.

clm5.0.dev001

Toggle clm5.0.dev001's commit message
Fix problem with default LND_TUNING_MODE for cases coupled to CAM. Up…

…date some of the README

files. And also bring in a PTCLM version that will work in the new CTSM git checkout directory
structure.

clm5.0.dev000

Toggle clm5.0.dev000's commit message
Documentation tag same as clm5.0.000 (with a few documentation files …

…updated) with our new naming convention.

clm5.0.000

Toggle clm5.0.000's commit message
Initial version of CLM5.0 science series version 000.

clm4_5_18_r275

Toggle clm4_5_18_r275's commit message
Update initial condition files, update fates, new CMIP6 pop-dens, mor…

…e lnd_tuning_mod options, updated ndep for fully coupled

clm4_5_18_r274

Toggle clm4_5_18_r274's commit message
Fix auto-detection of CIME_MODEL in a standalone checkout

The auto-detection of whether CIME_MODEL is acme or cesm is broken in
standalone checkouts of clm4_5_18_r273. (This auto-detection relied on
whether there was an SVN_EXTERNAL_DIRECTORIES file present at the top
level.)

This tag points to a new cime version that fixes this issue.