DONE: add nprocs as command line option (different job script lines for ys vs linux) Beware: #BSUB -n occurs twice (includes ##BSUB), so change the first one for res5.0, or the second one (##BSUB) for res2.5 DONE: add project number as command line option DONE: add option "submit", which if 'yes', will start the job without prompting for submit (a danger would be if every job had to compile, you could get thrown off yellowstone for oversubscription). DONE: Could add option -execute so if you set -execute no, then it would compile the jobs sequentially without actually submitting (no danger of oversubscription). After that, run with -execute yes (which would be the default) to actually run the jobs. But beware since "set exec" occurs 3 times in the job script. - Make "spread-sheet", with typical performance (secs/step), minutes per day, and recommended step size and wallclock limit. - Could add namelist parms NTASK_LON, NTASK_LAT to command-line options, to be used for performance testing. - Set up 1-year climatology runs, e.g., in 3 or 4 continuation runs (running sequentially in the same execdir). (best done with command-line calls from a script) - Set up climatology run with user-specified start and stop days, using SOURCE from any date in the climatology benchmark. DONE: Make December "AGU storm" case - add STEP to command-line options (include in namelist mods) - Better documentation re env vars - maybe ask user to set them at the beginning, if they are not already set. TIEGCM_ROOT, TIMEGCM_ROOT, TGCMDATA, TGCMTEMP - Theoretically, you could have a command-line option for all namelist parameters. This would allow for arbitrary additions or subtractions from the current namelist, but could lead to traps because only certain combinations of certain groups of namelist parameters are allowed. namelist.add() keyword=value list. namelist.rm() remove by keyword DONE: Allow test.name to be "in" list of test names, not necessarily "equal". This allows multiple runs of the same test with different configurations to be run in different execdirs. DONE: Add project number and queue to command-line options. DONE: Add command-line options to stdout print before prompt to submit. - Allow user to specify the default namelist or job script, and make custom run. (longer term goal) - Add clean_execdir (yes/no) to command-line options DONE: Put default namelist and job scripts in this directory. Tgcmrun is heavily dependent on the exact format of these files because it modifies, adds, and removes the default keyword=value pairs to make files for its own runs. So the default files in the tgcmrd directory should not be changed. This allows the user to modify scripts/*_default.inp for their own default namelist files without breaking tgcmrun (similar for the job script). DONE: Add wallclock limit command-line option, e.g., '-wc'. Can make run.wc25 and run.wc50 in classes.py as defaults: run.wc25_default, run.wc50_default. - For climatology runs, add command-line options for SOURCE, START, STOP, etc. (?) DONE: Expand all $TGCMDATA when writing namelist file, so the model does not have to do it (data files GPI, GSWM, IMF, etc) There probably should be a run.tgcmdata rather than passing it around in argument lists. - default wc limits should distinguish between tiegcm and timegcm, i.e., take into account both the model and the resolution as well as the length of run and number of processors. Maybe use wc minutes per simulated day as estimated by default nprocs and average wc secs/step given the model and resolution. - Allow setting env var via command-line (like currently doing for TGCMDATA): "-tgcmdata = /glade/p/hao/tgcm/..." (default available for ys only) "-tgcmtemp = /glade/scratch/user/..." (default execdir) "-tiegcm_root = /glade/u/home/user/tiegcm/..." (default tiegcm model_root) "-timegcm_root = /glade/u/home/user/timegcm/..." (default tiegcm model_root)