/*N ruggedness.aml /*P----------------------------- Purpose ------------------------------------- /* /* This AML calculates the mean difference in elevation between /*A---------------------------- Arguments ------------------------------------ /*G------------------------ Global Variables --------------------------------- /*L------------------------ Local Variables ---------------------------------- /*I---------------- Input/Output Files, Coverages, etc. ---------------------- /*D----------------- Detailed Remarks, Assumptions, etc. --------------------- /*R----------- Other AMLs, Menus, or Programs Run from this AML -------------- /*B----------- Other AMLs, Menus, or Programs which Run this AML ------------- /*O-------------------- Operating System Dependencies ------------------------ /*H----------------------------- History ------------------------------------- /* /* Jacek Blaszczynski 06/1999 Original Coding /* /*E=========================================================================== &severity &error &routine bailout &args in_elev /* Check arguments &call chkargs /* Do the work &call main &return /* End of ruggedness.aml /*-------------- &routine chkargs /*-------------- &if [SHOW PROGRAM] <> GRID &then &do &type This aml must be run from GRID. &call bailout &end &do arg &list in_elev &if [NULL [VALUE %arg%]] &then &do &call usage &call bailout &end &end &if not [EXISTS %in_elev% -GRID] &then &do &type Input grid: %in_elev%, does not exist. &call bailout &end &return /* End of routine chkargs /*----------- &routine main /*----------- &terminal 9999 display 9999 position ur setwindow %in_elev% %in_elev% setcell %in_elev% mape %in_elev% gridpaint %in_elev% value linear nowrap gray &if [EXISTS ssdiff -GRID] &then &do kill ssdiff all &end &if [EXISTS tri -GRID] &then &do kill tri all &end DOCELL ssdiff = ( ( sqr ( %in_elev%(0,0) - %in_elev%(-1,-1) ) ) ~ + ( sqr ( %in_elev%(0,0) - %in_elev%(0,-1) ) ) ~ + ( sqr ( %in_elev%(0,0) - %in_elev%(1,-1) ) ) ~ + ( sqr ( %in_elev%(0,0) - %in_elev%(1,0) ) ) ~ + ( sqr ( %in_elev%(0,0) - %in_elev%(1,1) ) ) ~ + ( sqr ( %in_elev%(0,0) - %in_elev%(0,1) ) ) ~ + ( sqr ( %in_elev%(0,0) - %in_elev%(-1,1) ) ) ~ + ( sqr ( %in_elev%(0,0) - %in_elev%(-1,0) ) ) ) END gridpaint SSDIFF value linear nowrap gray TRI = sqrt (ssdiff) gridpaint tri value linear nowrap gray &return /*------------ &routine usage /*------------ &type Usage: &r ruggedness &return /* End of routine usage /*----------- &routine exit /*----------- &return /* End of routine exit /*-------------- &routine bailout /*-------------- &severity &error &ignore &call exit &return &error Bailing out of shedstats.aml...