################## PARAMETERS TO SET \data_root = "/home/matt/swarm/seagrass99/tests/" \grid_append = "/outputs/grid_data/" query \test_dir "Input: Model test run data directory (name only)" ("defaults") \grid_dir = "\data_root\test_dir\grid_append" query \t "Input: model timestep to plot" ("30") .mod_time. = \t # model time step to use query \ev "Input: main impedence threshold contour" ("10") .env_val. = \ev ################################################################# ### New function to set the position current plot panel ### on a multi-panel page. e.g., 3 rows, 2 columns `SetPanel .row. .col.' In a multi-panel page, set the current panel to: row = .row. and column = .col. The variables: .xbase., .ybase., .xstep. and .ystep. must be previously defined and set. { .row. = \.word1. .col. = \.word2. .left. = {rpn .xstep. .col. * .xbase. +} .right. = {rpn .left. .xsize. +} .base. = {rpn .ystep. .row. * .ybase. +} .top. = {rpn .base. .ysize. +} } ################################################################# ################## PROCESS PARAMETERS sprintf \run "_%03.0f" .mod_time. \pre = "grids_" \post = ".eps" \fileout = "\pre\test_dir\run\post" set postscript filename \fileout ## the spatial data grid filenames sprintf \posenv "posE%03.0f.dat" .mod_time. sprintf \ampenv "ampE%03.0f.dat" .mod_time. sprintf \hetenv "hetE%03.0f.dat" .mod_time. sprintf \posage "posA%03.0f.dat" .mod_time. sprintf \ampage "ampA%03.0f.dat" .mod_time. sprintf \hetage "hetA%03.0f.dat" .mod_time. ##################################### # these are equal for all plots set page portrait set tics in ########## These control the main page layout features ########## x-margins for 6 plots (3 rows, 2 columns) each 6x6 cm .xsize. = 5.0 .ysize. = 5.0 ## margin set-up .xbase. = 4.0 # LH margin .ybase. = 20.5 # base-line of top row .xstep. = 7.0 # step between columns .ystep. = -5.8 # step between rows .xend. = {rpn .xstep. .xsize. +} .xmid. = {rpn .xend. 2 /} .xmiddle. = {rpn .xbase. .xmid. +} delete .xend. delete .xmid. set contour label position centered set contour labels horizontal set contour labels whiteunder ######################################################################## ######################################################################## ## PANEL 1 : top left (0,0) : Posidonia Environment SetPanel 0 0 set x margin .left. set y margin .base. set x size .xsize. set y size .ysize. set axes style 2 # set the correct image size .rows. = 180 .cols. = 180 set x grid 1 .cols. 1 set y grid 1 .rows. 1 set x axis 0.5 { rpn .cols. 0.5 + } set y axis 0.5 { rpn .rows. 0.5 + } ## get the data open "\grid_dir\posenv" read grid data .rows. .cols. close set image range 0 25 convert grid to image size .rows. .cols. set image grayscale black 25 white 0 increment 1 draw image set tic size 0.20 set graylevel black set font size 6 ## thin contour lines for 5 & 15 set font to Helvetica set line width 0.3 set contour label for lines exceeding 2.4 cm set font size 5 draw contour 5 draw contour 15 ## thick contour line for env threshold set contour label for lines exceeding 1.8 cm set font size 6 set font to HelveticaBold set line width 0.8 draw contour .env_val. set line width 0.6 set font to Helvetica set font size 12 draw label "Impedence Grids" centered \ at {rpn .xsize. 2 / .left. +} {rpn .top. 0.7 +} cm set font size 11 set font to Helvetica draw label "$Posidonia$ at Time = \t" centered \ at .xmiddle. {rpn .top. 0.15 +} cm delete grid ############################################################################ ## PANEL 2 : top right (0,1): Posidonia agents SetPanel 0 1 set x margin .left. set y margin .base. set x size .xsize. set y size .ysize. set axes style 2 # set the correct image size .rows. = 180 .cols. = 180 set x grid 1 .cols. 1 set y grid 1 .rows. 1 set x axis 0.5 { rpn .cols. 0.5 + } set y axis 0.5 { rpn .rows. 0.5 + } ## get the data open "\grid_dir\posage" read grid data .rows. .cols. close set image range 0 5 set image grayscale black 5 white 0 increment 1 convert grid to image size .rows. .cols. draw image set font to Helvetica set font size 12 draw label "Agent Locations" centered \ at {rpn .xsize. 2 / .left. +} {rpn .top. 0.7 +} cm delete grid ###################################################################################### ## PANEL 3 : top left (1,0) : Amphibolis Environment SetPanel 1 0 set x margin .left. set y margin .base. set x size .xsize. set y size .ysize. set axes style 2 # set the correct image size .rows. = 60 .cols. = 60 set x grid 1 .cols. 1 set y grid 1 .rows. 1 set x axis 0.5 { rpn .cols. 0.5 + } set y axis 0.5 { rpn .rows. 0.5 + } ## get the data open "\grid_dir\ampenv" read grid data .rows. .cols. close set image range 0 25 convert grid to image size .rows. .cols. set image grayscale black 25 white 0 increment 1 draw image set tic size 0.20 set graylevel black set font size 6 ## thin contour lines for 5 & 15 set line width 0.2 set contour label for lines exceeding 2.4 cm set font size 5 set font to Helvetica draw contour 5 draw contour 15 ## thick contour line for 10 set contour label for lines exceeding 1.8 cm set font size 6 set font to HelveticaBold set line width 0.8 draw contour .env_val. set line width 0.6 set greylevel 0 set font size 11 set font to Helvetica draw label "$Amphibolis$ at Time = \t" centered \ at .xmiddle. {rpn .top. 0.15 +} cm delete grid ############################################################################ ## PANEL 4 : top right (1,1): Amphibolis agents SetPanel 1 1 set x margin .left. set y margin .base. set x size .xsize. set y size .ysize. set axes style 2 # set the correct image size .rows. = 60 .cols. = 60 set x grid 1 .cols. 1 set y grid 1 .rows. 1 set x axis 0.5 { rpn .cols. 0.5 + } set y axis 0.5 { rpn .rows. 0.5 + } ## get the data open "\grid_dir\ampage" read grid data .rows. .cols. close set image range 0 5 convert grid to image size .rows. .cols. # greylevels : set image grayscale black 5 white 0 increment 1 draw image delete grid ###################################################################################### ## PANEL 5 : top left (2,0) : Heterozostera Environment SetPanel 2 0 set x margin .left. set y margin .base. set x size .xsize. set y size .ysize. set axes style 2 # set the correct image size .rows. = 20 .cols. = 20 set x grid 1 .cols. 1 set y grid 1 .rows. 1 set x axis 0.5 { rpn .cols. 0.5 + } set y axis 0.5 { rpn .rows. 0.5 + } ## get the data open "\grid_dir\hetenv" read grid data .rows. .cols. close set image range 0 25 convert grid to image size .rows. .cols. set image grayscale black 25 white 0 increment 1 draw image ## thin contour lines for 5 & 15 set line width 0.2 set contour label for lines exceeding 1.0 cm set font size 5 set font to Helvetica draw contour 5 draw contour 15 ## thick contour line for 10 set contour label for lines exceeding 0.8 cm set font size 6 set font to HelveticaBold set line width 0.8 draw contour .env_val. set line width 0.6 set greylevel 0 set font size 11 set font to Helvetica draw label "$Heterozostera$ at Time = \t" centered \ at .xmiddle. {rpn .top. 0.15 +} cm set font size 6 set font to Helvetica set line width 0.6 set tic size 0.20 set graylevel black set font size 6 draw image palette left -0.5 right 20.5 increment 2.0 \ box .left. {rpn .base. 0.3 -} \ .right. {rpn .base. 0.1 -} set font to Helvetica set font size 11 draw label whiteunder "Species Impedence Grid Values" \ at {rpn .left. 0.0 +} {rpn .base. 1.00 -} cm set font to Helvetica set font size 9 draw label "Higher values indicate a greater" \ at {rpn .left. 0.1 +} {rpn .base. 1.50 -} cm draw label "resistance to growth at that location." \ at {rpn .left. 0.1 +} {rpn .base. 1.90 -} cm draw label "The bold contour line indicates the" \ at {rpn .left. 0.1 +} {rpn .base. 2.30 -} cm draw label "$impedence threshold$ for each species." \ at {rpn .left. 0.1 +} {rpn .base. 2.70 -} cm delete grid ############################################################################ ## PANEL 6 : top right (2,1): Heterozostera agents SetPanel 2 1 set x margin .left. set y margin .base. set x size .xsize. set y size .ysize. set axes style 2 # set the correct image size .rows. = 20 .cols. = 20 set x grid 1 .cols. 1 set y grid 1 .rows. 1 set x axis 0.5 { rpn .cols. 0.5 + } set y axis 0.5 { rpn .rows. 0.5 + } ## get the data open "\grid_dir\hetage" read grid data .rows. .cols. close set image range 0 5 convert grid to image size .rows. .cols. # greylevels : set image grayscale black 5 white 0 increment 1 draw image set line width 0.6 set symbol size 0.25 set graylevel 1.00 draw symbol filledbox at {rpn .left. 2.1 +} {rpn .base. 2.60 -} cm set graylevel 0.80 draw symbol filledbox at {rpn .left. 2.1 +} {rpn .base. 2.20 -} cm set graylevel 0.60 draw symbol filledbox at {rpn .left. 2.1 +} {rpn .base. 1.80 -} cm set graylevel 0.40 draw symbol filledbox at {rpn .left. 2.1 +} {rpn .base. 1.40 -} cm set graylevel 0.20 draw symbol filledbox at {rpn .left. 2.1 +} {rpn .base. 1.00 -} cm set line width 0.6 set graylevel black set font size 9 draw label whiteunder "vacant" at {rpn .left. 2.4 +} {rpn .base. 2.70 -} cm draw label whiteunder "seedling" at {rpn .left. 2.4 +} {rpn .base. 2.30 -} cm draw label whiteunder "new shoot" at {rpn .left. 2.4 +} {rpn .base. 1.90 -} cm draw label whiteunder "adult" at {rpn .left. 2.4 +} {rpn .base. 1.50 -} cm draw label whiteunder "senescent" at {rpn .left. 2.4 +} {rpn .base. 1.10 -} cm set font to Helvetica set font size 11 draw label "Agent Types" centered \ at {rpn .xsize. 2 / .left. +} {rpn .base. 0.6 -} cm delete grid ###################################################################################### quit