#2758: conditional read/write statements
Reporter:Samuel Cupp
Status:new
Milestone:
Version:
Type:enhancement
Priority:minor
Component:Cactus

Currently, if a function reads or writes variables only under certain conditions, proper scheduling within the schedule.ccl would require duplicating the entire function schedule for every possibility. As a simple example,

if(CCTK_EQUALS(EOS, "Tabulated")) {
  schedule func at bin
  {
    LANG: C
    READS: var1
    WRITES: var2, var3
  }
} else {
  schedule func at bin
  {
    LANG: C
    READS: var1
    WRITES: var2
  }
}

Instead, having the ability to set these conditionals within the function scheduling like

schedule func at bin
{
  LANG: C
  READS: var1
  WRITES: var2
  if(CCTK_EQUALS(EOS, "Tabulated")) {
    WRITES: var3
  }
}

would make this scheduling much more compact and more readable.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2758/conditional-read-write-statements