summaryrefslogtreecommitdiff
path: root/lib/sbin/ScheduleParser.pl
Commit message (Collapse)AuthorAge
* Add three new schedule binsschnetter2006-12-14
| | | | | | | | | | | | | | | | | | | PREREGRIDINITIAL POSTREGRIDINITIAL POSTRESTRICTINITIAL These bins are necessary so that thorns can distinguish between the corresponding operations during evolution and during initial data setup. That is, for example, operations that need to be performed after restricting during time evolution may differ from operations that need to be performed after restricting while initial data are set up. This closes PR/2074. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4393 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Define all possible schedule bins in a single place.schnetter2006-12-06
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4390 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce a new schedue group PREREGRID.schnetter2006-07-06
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4345 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Produce warning if storage statement associated with startup or shutdown.goodale2004-08-17
| | | | | | | | Patch from Yaakoub. Fixes PR 1741. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3838 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Parse multiple schedule options correctly.schnetter2004-08-03
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3822 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add missing arguments to a CST_error callallen2004-06-01
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3753 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Patch from Yaakoub to give a warning when there is a LANG specifier ingoodale2004-05-10
| | | | | | | | | for a schedule group. Fixes PR 1631. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3711 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Create a POSTREGRID schedule bin.schnetter2004-05-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3700 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add scheduling bin "POSTRESTRICT".schnetter2003-11-05
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3448 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Traverse all hashes alphabetically, so that all output files of theschnetter2003-10-07
| | | | | | | | CST stage will be identical. This is necessary at least since perl 5.8.1 to avoid redundant recompilation. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3425 17b73243-c579-4c4c-a9d2-2d5706c11dac
* new CCTK_WRAGH timebinrideout2003-08-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3384 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Removed all the arrangement names from error messages because arrangement isallen2003-07-12
| | | | | | | not defined and the order is wrong anyway (?). git-svn-id: http://svn.cactuscode.org/flesh/trunk@3271 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Try to clarify hint for scheduling IN and ATallen2002-12-30
| | | | | | | Tries to fix Cactus/1315 git-svn-id: http://svn.cactuscode.org/flesh/trunk@3059 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve error messagesallen2002-12-30
| | | | | | | Fixed Cactus/1353 git-svn-id: http://svn.cactuscode.org/flesh/trunk@3057 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add name of thorn to warning messageallen2002-08-20
| | | | | | | Fixes Cactus/1005 git-svn-id: http://svn.cactuscode.org/flesh/trunk@2979 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Assume that if a line in schedule.ccl isn't the right format for a storage ↵allen2002-05-17
| | | | | | | | | line, but starts with "STOR" that is must be a formatting error. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2826 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Spelling change existant --> existent.rideout2002-05-08
| | | | | | | Fixes Cactus/1005. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2798 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Cactus/983allen2002-04-26
| | | | | | | | | | | | Check for existance of timebins/groups for scheduling <IN> as well as scheduling <AT>. Give a warning for scheduling <IN> a non-existant timebin. Print warnings at the end of CST as well as during CST. This needs more tidying to look prettier. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2756 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changes to parse and validate a timelevel specifier for storage.goodale2002-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | If you have a group with more than one timelevel it is now an error not to specify in your schedule.ccl file how many timelevels to enable. Note that the information is still not passed into the flesh, this will happen soon... This change should not affect anyone who is not using timelevels. Everyone who is will need to update their schedule.ccl files, the syntax is storage: group[<number>] to enable storage for <number> timelevels, where <number> must be between 1 and the number of timelevels specified in the interface.ccl file, inclusive. See CactusWave for examples. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2724 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Recognize POST_RECOVER_VARIABLES as a new schedule bin.tradke2002-03-19
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@2651 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixed a bug in checking for valid schedule bins (ANALYSIS wasn't recognizedtradke2002-03-18
| | | | | | | | anymore :-). This closes PR Cactus/931. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2648 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Give an error is a schedule bin (e.g. schedule at <...>) is not a recognizedallen2002-03-17
| | | | | | | bin git-svn-id: http://svn.cactuscode.org/flesh/trunk@2646 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Also recognize time bins starting with lower-case 'cctk_'.tradke2001-12-29
| | | | | | | This closes Cactus-796. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2541 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Untabified.goodale2001-10-14
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2408 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Adding a "help" argument to the CST_error call to start adding suggested ↵allen2001-08-19
| | | | | | | | | causes for the errors. At the moment the help message is always shown, since I've only added a couple so far. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2307 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Enhancing error messages, especially for inconsistent implementationsallen2000-12-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1981 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added standard error callsallen2000-12-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1958 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Implementedgoodale2000-01-28
| | | | | | | | | | | | | SCHEDULE AS so a function can be aliased with a different name. Untested. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1326 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now, subject to review, you can putgoodale2000-01-28
| | | | | | | | | | | | | | | | | | OPTIONS:... in a schedule block to pass miscellaneous options to the schedular. Currently the only option is "Global" which sets a flag on the FunctionData structure passed to the call function. This option only makes sense for a scheduled function, not a schedule group, though this may change in the future. It is used to indicate to the calling function that this function should only be called once as it performs global operations. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1325 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Addedgoodale2000-01-27
| | | | | | | | | | | | | | | | | | | | SYNC[HRONISE]: <group list> as an option to the schedule.ccl. This will be used to tell the flesh or the driver to synchronise these groups after the function has been executed. Tom NOTE: You will need to do a gmake <config>-rebuild after this update as the bindings stuff has changed. git-svn-id: http://svn.cactuscode.org/flesh/trunk@1318 17b73243-c579-4c4c-a9d2-2d5706c11dac
* COMMUNICATION is now automatically switched on for all groups withallen2000-01-25
| | | | | | | STORAGE git-svn-id: http://svn.cactuscode.org/flesh/trunk@1285 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixed some things noticed by perl -w .goodale1999-10-25
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1102 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed to use Perl5 stuff...goodale1999-10-24
| | | | | | | | | | | | | local -> my used perl 5 references for passing databases around in the CST. CST is now about a factor of 16 faster ! Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@1101 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Second attempt at this. Now only the first 4 letters are significantallen1999-09-25
| | | | | | | in COMMUNICATION STORAGE TRIGGERS and LANGUAGE git-svn-id: http://svn.cactuscode.org/flesh/trunk@992 17b73243-c579-4c4c-a9d2-2d5706c11dac
* I committed a big bug earlier today, this should fix it, I hopeallen1999-09-24
| | | | | | | noone noticed ... git-svn-id: http://svn.cactuscode.org/flesh/trunk@990 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Accept first 4 letters of any keyworkallen1999-09-24
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@986 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Convert CCTK entry points to uppercase.goodale1999-09-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@974 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New schedule stuff.goodale1999-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IMPORTANT: if you don't have a src/schedule directory, please do an "update -d" or your code won't compile! You can now create schedule groups and schedule items (other groups or functions) IN a group. You may then schedule a group AT a particular CCTK entry point, or inside another group. There is a new keyword WHILE in the schedule specification. The argument(s) to this are the full names of integer scalars, and the item which is scheduled WHILE will be executed while this integer, or these integers, are non-zero. Note that currently there is little checking of the type of these scalars, 'though this will be coming soon. BEFORE, AFTER, or WHILE can take a list of arguments of the form (a,b,c) to stop you having to do something like BEFORE a BEFORE b BEFORE c So the full format of a schedule statement is SCHEDULE [GROUP] <name> <AT entrypoint | IN group> [BEFORE|AFTER <item | (item...)>] [WHILE <integer gridscalar>] { [LANG: <language>] [COMM: <group(s)>] [STORAGE: <groups(s)] [TRIGGERS: <groups(s)] } "<description>" Note that even for a group you need to provide { } "<description>" 'though that may be relaxed soon. Also TRIGGERS are now on a group basis, not on a variable basis. So, for example, to test this I had -------------------------------------- SCHEDULE TEST1_InitialData AT INITIAL { LANG: Fortran } "Initialise" SCHEDULE TEST1_InitialData AT EVOL { LANG: Fortran } "Initialise" SCHEDULE TEST1_Evolve IN testit { LANG: Fortran } "Evolution routine" SCHEDULE GROUP testit WHILE test1::foo_int_scalar AT EVOL AFTER TEST1_InitialData { } "Test a group within a group. " --------------------------------------- where the initialisation routine set test1::foo_int_scalar to 4 and the evolution routine decremented it. The group "testit" is redundant here as only one thing is scheduled in it, the WHILE and AFTER could have gone directly onto the scheduling of TEST1_Evolve. Apart from the checking of the while stuff, the perl does a fair amount of checking that groups exist. It doesn't yet check that a group you are scheduling at or in exists, and neither does the C, so please check the screen output of the final schedule tree. Checks for this an for unreachable groups will go in, but perhaps not in the next week. There's also some tidying up which needs to go in, but this stuff passes all the tests that the unmodified code does. I have also tried to make the output of the CST a bit more useful, 'though now it's a wee bit long-winded. Please send me comments if you want more output of various things, or would like the current output, or how the WHILE stuff works, changed. Tom IMPORTANT: if you don't have a src/schedule directory, please do an "update -d" or your code won't compile! git-svn-id: http://svn.cactuscode.org/flesh/trunk@966 17b73243-c579-4c4c-a9d2-2d5706c11dac
* A couple of bug-fixes to stop infinite loops.goodale1999-09-18
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@951 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Some new perl stuff for the scheduling.goodale1999-09-16
ScheduleParser.pl reads the schedule stuff into a database - still not perfect, as all it does is replace scheduling stuff with distinctive blocks and parse all the info about the block, whereas it should also parse all the if statements and associate them with the blocks too. NewCreateScheduleBindings.pl is only just started, but will be renamed CreateScheduleBindings when it is complete and actually does what it's supposed to. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@938 17b73243-c579-4c4c-a9d2-2d5706c11dac