# # QSUB -s /bin/csh # QSUB -lT 180:00 # time limit # QSUB -q reg # queue to be used, prem, reg, econ, sb, lm # QSUB -lm 40Mw # space used in megawords (use 50Mw for 6 pe's) # QSUB -lM 40Mw # space used in megawords # cd $TMPDIR #cd /tmp/foster/tgcm13 # # The following module load is a fix for OpenMP on the j90's. module load cf90.3.2.1.0 # set job = tgcm13 # generic job name set tgcm_version = tgcm13 # model version name set remote = vishnu.hao:timegcm/tgcm13 set tmpdir = /tmp/foster/tgcm13 # temp dir for links on Cray/SGI (optional) #set COMPILE_ALL # recompile all code, not just mods set EXEC # comment out for compile/load only #set EXEC_FILE = $tmpdir/tgcm13/tgcm_jse.x # # Performance profilers (if any of these are set, also set COMPILE_ALL # unless using only flowmark). In general, only one of these should # be set per run. Note flowtrace and perftrace are usually run with # NCPUS=1, but atexpert is run w/ NCPUS > 1. # #set FLOW # compile for flowtrace #set FLOWMARK # save flowmark output #set PERF # compile for perftrace #set ATX # compile for atexpert # # tgcm.run will set NCPUS according to ncpus: set ncpus = 1 # # All multi-tasked code must compile without -ev: # (use -ef for flowtrace and/or perftrace, -eX for atexpert) # if ($?FLOW || $?PERF) then set FFLAGS = "(-m4 -O overindex,nofastint -ef)" else if ($?ATX) then set FFLAGS = "(-m4 -O overindex,nofastint -eX)" else set FFLAGS = "(-m4 -O overindex,nofastint -ev)" endif # # Set loader flags if different from default. # Add -lperf for pertrace: # (perf group 0 is default exec summary, perf group 3 is vector activity) # if ($?PERF) then set LDFLAGS = "(-f indef -M,stat -L /usr/local/lib -l ncarg,ncarg_gks,ncarg_c,X11,ncarm, -l ncaro,mss,alfpack,ecmfft,fitpack,fishpak,fftpack,hpf,perf)" endif # # Model lexical input: # set inp = $job.inp # used by tgcm.run cat << 'EOFINP' >! $inp INCLUDE tgcm13.inp 'EOFINP' # # Use pre-existing exec file if it exists: # if ($?EXEC && $?EXEC_FILE) then if (-e $EXEC_FILE) then set exec = $EXEC_FILE setenv NCPUS $ncpus echo "Executing $exec (NCPUS=$NCPUS)" ja $exec < $job.inp || goto fail_exec ja -st goto return # save any profiled output endif endif # # Get fixed source and object tar files from mss: # INCLUDE $TGCMROOT/bin/getsrcobj #INCLUDE getsrcobj # # Include any modified or new source: # (this will overwrite fixed source obtained from mss by getsrcobj above) # #INCLUDE -h $TGCMROOT/tgcm13/*.h $TGCMROOT/tgcm13/*.f #INCLUDE -h modsrc_debug/*.f modsrc_debug/*.h #INCLUDE -h modsrc_debug/*.f #INCLUDE -h modsrc_bugfix/*.f # # Rays original modsrc.kibo mods to tgcm13 when tgcm13mt was made: INCLUDE -h ~/tiegcm/tgcm13mt/modsrc.kibo/orig/*.h INCLUDE -h ~/tiegcm/tgcm13mt/modsrc.kibo/orig/*.f # # tgcm.run builds and executes the model # (if EXEC not set, model is not executed) # set RETURN = "return" #INCLUDE $TGCMROOT/bin/tgcm.run INCLUDE tgcm.run # local tgcm.run has make NPROC=5 return: # # Save flowtrace results: # if ($?FLOW || $?FLOWMARK) then flowview -Luch >! flow.rpt.$$ rcp flow.rpt.$$ $remote echo Sent flow.rpt.$$ to $remote endif # # Save perftrace results: # if ($?PERF) then setenv PERF_GROUP 0 # setenv PERF_GROUP 3 set name = perf.rpt.$$ perfview -LBcM >! $name rcp $name $remote echo Sent $name to $remote endif # # Save atexpert file: # if ($?ATX && -e atx.raw) then cp atx.raw /tmp/foster/atx.raw.$$ echo Copied atx.raw to /tmp/foster/atx.raw.$$ rcp atx.raw $remote/atx.raw.$$ echo Copied atx.raw to $remote/atx.raw.$$ endif exit