1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: [EXTERNAL] Re: Question about compress records |
From: | "Guyotte, Greg via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Pearson, Matthew R." <pearsonmr at ornl.gov>, Ralph Lange <ralph.lange at gmx.de> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 8 Feb 2021 18:46:23 +0000 |
I noticed that field also but couldn’t sort out how I can make use of it. Thanks for the suggestion – it looks like it might work! On 2/8/21, 1:45 PM, "Pearson, Matthew R." <pearsonmr at ornl.gov> wrote:
Hi Greg, This might be a work around, until the feature is added to the compress record. You can copy the NUSE field and write it to the N field as the circular buffer fills up: record(ai, "$(P)$(R)Test") { field(VAL, "0.0") field(FLNK, "$(P)$(R)Buffer") } record(compress, "$(P)$(R)Buffer") { field(INP, "$(P)$(R)Test") field(ALG, "Circular Buffer") field(NSAM, "10") field(FLNK, "$(P)$(R)AverageCalc") } record(longout, "$(P)$(R)AverageCalc") { field(OMSL, "closed_loop") field(DOL, "$(P)$(R)Buffer.NUSE") field(OUT, "$(P)$(R)Average.N") field(FLNK, "$(P)$(R)Average") } record(compress, "$(P)$(R)Average") { field(INP, "$(P)$(R)Buffer") field(ALG, "N to 1 Average") } Cheers, Matt From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Guyotte, Greg via Tech-talk That sounds correct to me Ralph. I’m at least satisfied to know that the current operation is as expected. I will try the solution suggested by Tim Mooney as well – thanks Tim. On 2/8/21, 11:50 AM, "Tech-talk" <tech-talk-bounces at aps.anl.gov> wrote: Hi Greg, This behavior is (mostly) documented in the compress record
reference manual entry. Is it correct to write what you're missing as: The compress record in its "N to 1 Xxx" modes, when reading an INP array that has less than NSAM * N elements (or while still filling its internal circular buffer), should use all existing elements of the INP array
(or the internal buffer) and calculate as much of the resulting VAL array as possible, before firing VAL monitors and forward links. Such a change should probably have a configuration switch, defaulting to the current behavior. Sounds like a nice codeathon
project! Cheers, |