{"action":"created","issue":{"url":"https://api.github.com/repos/bandre-ucar/junk-issues/issues/2","repository_url":"https://api.github.com/repos/bandre-ucar/junk-issues","labels_url":"https://api.github.com/repos/bandre-ucar/junk-issues/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/bandre-ucar/junk-issues/issues/2/comments","events_url":"https://api.github.com/repos/bandre-ucar/junk-issues/issues/2/events","html_url":"https://github.com/bandre-ucar/junk-issues/issues/2","id":270878406,"number":2,"title":"Some CLM accumulated fields (via accumulMod) are incorrect with dynamic landunits","user":{"login":"bandre-ucar","id":9341547,"avatar_url":"https://avatars2.githubusercontent.com/u/9341547?v=4","gravatar_id":"","url":"https://api.github.com/users/bandre-ucar","html_url":"https://github.com/bandre-ucar","followers_url":"https://api.github.com/users/bandre-ucar/followers","following_url":"https://api.github.com/users/bandre-ucar/following{/other_user}","gists_url":"https://api.github.com/users/bandre-ucar/gists{/gist_id}","starred_url":"https://api.github.com/users/bandre-ucar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bandre-ucar/subscriptions","organizations_url":"https://api.github.com/users/bandre-ucar/orgs","repos_url":"https://api.github.com/users/bandre-ucar/repos","events_url":"https://api.github.com/users/bandre-ucar/events{/privacy}","received_events_url":"https://api.github.com/users/bandre-ucar/received_events","type":"User","site_admin":false},"labels":[{"id":739300173,"url":"https://api.github.com/repos/bandre-ucar/junk-issues/labels/test-label","name":"test-label","color":"3333FF","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/bandre-ucar/junk-issues/milestones/1","html_url":"https://github.com/bandre-ucar/junk-issues/milestone/1","labels_url":"https://api.github.com/repos/bandre-ucar/junk-issues/milestones/1/labels","id":2885161,"number":1,"title":"test-milestone","description":null,"creator":{"login":"bandre-ucar","id":9341547,"avatar_url":"https://avatars2.githubusercontent.com/u/9341547?v=4","gravatar_id":"","url":"https://api.github.com/users/bandre-ucar","html_url":"https://github.com/bandre-ucar","followers_url":"https://api.github.com/users/bandre-ucar/followers","following_url":"https://api.github.com/users/bandre-ucar/following{/other_user}","gists_url":"https://api.github.com/users/bandre-ucar/gists{/gist_id}","starred_url":"https://api.github.com/users/bandre-ucar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bandre-ucar/subscriptions","organizations_url":"https://api.github.com/users/bandre-ucar/orgs","repos_url":"https://api.github.com/users/bandre-ucar/repos","events_url":"https://api.github.com/users/bandre-ucar/events{/privacy}","received_events_url":"https://api.github.com/users/bandre-ucar/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":0,"state":"open","created_at":"2017-11-03T04:49:14Z","updated_at":"2017-11-03T04:49:26Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2017-11-03T04:49:26Z","updated_at":"2017-11-03T04:49:38Z","closed_at":null,"author_association":"OWNER","body":"**bugzilla id: 2526**\n**Bill Sacks < sacks > - 2017-10-26 13:50:01 -0600**\nI have found evidence that at least some CLM accumulated fields (e.g., 10-day running-averages, and other fields accumulated via accumulMod) are incorrect when we have dynamic landunits (or even transient PFTs in some cases). This could affect the behavior in transient crop or transient glacier cases.\n\nIt appears that the accumulation code doesn't handle the possibility that patches or columns may come in and out of existence, and instead assumes that data are always valid at all points. This means that, as long as a patch or column has 0 weight (i.e., is inactive), the accumulation code continues to average in the variable's initial value. In some cases, this may be relatively innocuous, but in other cases this can cause very wrong behavior. The biggest problems may arise when the variable's initial value is spval: in this case, once the column initiates, it will be using accumulated values of 1e36, and it takes a VERY long time for these values to reach some reasonable magnitude given the exponential-decay implementation of accumulMod.\n\nI discovered this problem in testing https://svn-ccsm-models.cgd.ucar.edu/clm2/branch_tags/rename_atm2lnd_diags_tags/rename_atm2lnd_diags_n01_clm4_5_16_r261 . The relevant change was that this initializes forc_pbot_downscaled_col to spval rather than leaving it at its value of 0 set in initAllocate (yes, note that initAllocate in this module sets things to 0 rather than NaN). This caused (small) differences in Vcmx25Z in the test SMS_Ly3_Mmpi-serial.1x1_smallvilleIA.IHistClm50BgcCropGs.yellowstone_gnu.clm-cropMonthOutput and I tracked those differences down to (very large) differences in PBOT_240. By doing vector output of PBOT_240 in this test, I see that: on the trunk, this seems to start at 0 in newly-initiating patches; on the branch, this seems to start at spval in newly-initiating patches.\n\nI suspect that there are other problems like this in some other accumulator variables.\n\nI think the best solution could be (1) to change the accumulation code to ignore inactive columns - so that, as soon as a column first becomes active, it acts as if it's the start of the simulation (starting the counter at 1 at that point, and keeping the accumulated value at the initial prescribed value until that point).\n\nOther solutions could be: (2) using the dyn column state updater to update accumulator variables; (3) using dynInitColumns to initialize accumulator variables in newly-appearing columns (though note that this problem applies to patch-level variables, too, so this may not work without some extension of this infrastructure); (4) ensuring that any accumulated variable has valid values over even inactive points (but I think this will be tricky to ensure, especially as people potentially add new accumulator variables); (5) making sure that the initial cold-start value for anything that's accumulated is the same as the initial value that is sent to the accumulator code (so that, by continually averaging in that value, we're not messing things up too badly)."},"comment":{"url":"https://api.github.com/repos/bandre-ucar/junk-issues/issues/comments/341622105","html_url":"https://github.com/bandre-ucar/junk-issues/issues/2#issuecomment-341622105","issue_url":"https://api.github.com/repos/bandre-ucar/junk-issues/issues/2","id":341622105,"user":{"login":"bandre-ucar","id":9341547,"avatar_url":"https://avatars2.githubusercontent.com/u/9341547?v=4","gravatar_id":"","url":"https://api.github.com/users/bandre-ucar","html_url":"https://github.com/bandre-ucar","followers_url":"https://api.github.com/users/bandre-ucar/followers","following_url":"https://api.github.com/users/bandre-ucar/following{/other_user}","gists_url":"https://api.github.com/users/bandre-ucar/gists{/gist_id}","starred_url":"https://api.github.com/users/bandre-ucar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bandre-ucar/subscriptions","organizations_url":"https://api.github.com/users/bandre-ucar/orgs","repos_url":"https://api.github.com/users/bandre-ucar/repos","events_url":"https://api.github.com/users/bandre-ucar/events{/privacy}","received_events_url":"https://api.github.com/users/bandre-ucar/received_events","type":"User","site_admin":false},"created_at":"2017-11-03T04:49:38Z","updated_at":"2017-11-03T04:49:38Z","author_association":"OWNER","body":"**bugzilla id: 2526**\n**Bill Sacks < sacks > - 2017-10-27 12:25:44 -0600**\nActually, I just realized another reason why this shouldn't be an issue for land ice purposes: All columns (glacier and vegetated) are always active over the CISM domain. So, again, any impact of this bug would be felt in transient vegetation / transient crop runs."}}
{"actor":{"display_login":"bandre-ucar"}}