/*N shedstats.aml /*P----------------------------- Purpose ------------------------------------- /*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_sheds in_elev /* Check arguments &call chkargs /* Do the work &call main &return /* End of shedstats.aml /*-------------- &routine chkargs /*-------------- &if [SHOW PROGRAM] <> GRID &then &do &type This aml must be run from GRID. &call bailout &end &do arg &list in_sheds in_elev &if [NULL [VALUE %arg%]] &then &do &call usage &call bailout &end &end &if not [EXISTS %in_sheds% -GRID] &then &do &type Input grid: %in_sheds%, does not exist. &call bailout &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 /*----------- &echo &brief &terminal 9999 display 9999 position ur setwindow %in_sheds% %in_sheds% setcell %in_sheds% mape %in_sheds% buildvat %in_sheds% gridpaint %in_elev% value linear nowrap gray &if not [EXISTS filled -GRID] &then &do fill %in_elev% filled sink &end &if not [EXISTS flowdirz -GRID] &then &do flowdirz = flowdirection (filled) &end &if not [EXISTS flowcountz -GRID] &then &do flowcountz = flowaccumulation (flowdirz) &end &if not [EXISTS flowdira -GRID] &then &do flowdira = flowdirection (%in_elev%) &end gridpaint flowdira value identity nowrap gray &if [EXISTS elevshedstats -INFO] &then &do arc killinfo elevshedstats &end &if [EXISTS slopeshedstats -INFO] &then &do arc killinfo slopeshedstats &end &if [EXISTS lengthashedstats -INFO] &then &do arc killinfo lengthashedstats &end &if [EXISTS lengthzshedstats -INFO] &then &do arc killinfo lengthzshedstats &end &if [EXISTS flowashedstats -INFO] &then &do arc killinfo flowashedstats &end &if [EXISTS flowzshedstats -INFO] &then &do arc killinfo flowzshedstats &end &if [EXISTS aspectshedstats -INFO] &then &do arc killinfo aspectshedstats &end &if [EXISTS ruggedshedstats -INFO] &then &do arc killinfo ruggedshedstats &end &if [EXISTS l1shedstats -INFO] &then &do arc killinfo l1shedstats &end &if [EXISTS s1shedstats -INFO] &then &do arc killinfo s1shedstats &end &if [EXISTS ls1shedstats -INFO] &then &do arc killinfo ls1shedstats &end &if [EXISTS l2shedstats -INFO] &then &do arc killinfo l2shedstats &end &if [EXISTS s2shedstats -INFO] &then &do arc killinfo s2shedstats &end &if [EXISTS ls2shedstats -INFO] &then &do arc killinfo ls2shedstats &end &if [EXISTS sloplen2shedstats -INFO] &then &do arc killinfo sloplen2shedstats &end &if [EXISTS flowlen2shedstats -INFO] &then &do arc killinfo flowlen2shedstats &end elevshedstats = ZONALSTATS (%in_sheds%, %in_elev%, ALL, DATA) &if not [EXISTS slopeperc -GRID] &then &do slopeperc = slope (%in_elev%, percentrise) &end slopeshedstats = ZONALSTATS (%in_sheds%, slopeperc, ALL, DATA) &if not [EXISTS flowlengtha -GRID] &then &do flowlengtha = flowlength (flowdira, #, upstream) &end &if not [EXISTS flowlengthz -GRID] &then &do flowlengthz = flowlength (flowdirz, #, upstream) &end lengthashedstats = zonalstats (%in_sheds%, flowlengtha, ALL, DATA) lengthzshedstats = zonalstats (%in_sheds%, flowlengthz, ALL, DATA) &if not [EXISTS flowcounta -GRID] &then &do flowcounta = flowaccumulation (flowdira) &end &if not [EXISTS flowcountz -GRID] &then &do flowcountz = flowaccumulation (flowdirz) &end flowashedstats = ZONALSTATS (%in_sheds%, flowcounta, ALL, DATA) flowzshedstats = ZONALSTATS (%in_sheds%, flowcountz, ALL, DATA) &if not [EXISTS aspect -GRID] &then &do aspect = aspect (%in_elev%) &end aspectshedstats = ZONALSTATS (%in_sheds%, aspect, ALL, DATA) gridshades %in_sheds% arc tables sel %in_sheds%.vat dropitem %in_sheds%.vat elev_min dropitem %in_sheds%.vat elev_max dropitem %in_sheds%.vat elev_range dropitem %in_sheds%.vat elev_mean dropitem %in_sheds%.vat elev_std dropitem %in_sheds%.vat slope_min dropitem %in_sheds%.vat slope_max dropitem %in_sheds%.vat slope_range dropitem %in_sheds%.vat slope_mean dropitem %in_sheds%.vat slope_std dropitem %in_sheds%.vat lengtha_min dropitem %in_sheds%.vat lengtha_max dropitem %in_sheds%.vat lengtha_range dropitem %in_sheds%.vat lengtha_mean dropitem %in_sheds%.vat lengtha_std dropitem %in_sheds%.vat lengthz_min dropitem %in_sheds%.vat lengthz_max dropitem %in_sheds%.vat lengthz_range dropitem %in_sheds%.vat lengthz_mean dropitem %in_sheds%.vat lengthz_std dropitem %in_sheds%.vat flowa_min dropitem %in_sheds%.vat flowa_max dropitem %in_sheds%.vat flowa_range dropitem %in_sheds%.vat flowa_mean dropitem %in_sheds%.vat flowa_std dropitem %in_sheds%.vat flowz_min dropitem %in_sheds%.vat flowz_max dropitem %in_sheds%.vat flowz_range dropitem %in_sheds%.vat flowz_mean dropitem %in_sheds%.vat flowz_std dropitem %in_sheds%.vat aspect_min dropitem %in_sheds%.vat aspect_max dropitem %in_sheds%.vat aspect_range dropitem %in_sheds%.vat aspect_mean dropitem %in_sheds%.vat aspect_std dropitem %in_sheds%.vat basin_relief dropitem %in_sheds%.vat basin_slope dropitem %in_sheds%.vat basin_length dropitem %in_sheds%.vat total_flow dropitem %in_sheds%.vat basin_aspect dropitem %in_sheds%.vat basin_width dropitem %in_sheds%.vat sum dropitem %in_sheds%.vat acres dropitem %in_sheds%.vat km_sq dropitem %in_sheds%.vat mi_sq dropitem %in_sheds%.vat shape_factor dropitem %in_sheds%.vat elongation dropitem %in_sheds%.vat rotundity dropitem %in_sheds%.vat rugged_min dropitem %in_sheds%.vat rugged_max dropitem %in_sheds%.vat rugged_range dropitem %in_sheds%.vat rugged_mean dropitem %in_sheds%.vat rugged_std dropitem %in_sheds%.vat lfact1_max dropitem %in_sheds%.vat lfact1_min dropitem %in_sheds%.vat lfact1_range dropitem %in_sheds%.vat lfact1_mean dropitem %in_sheds%.vat lfact1_std dropitem %in_sheds%.vat sfact1_max dropitem %in_sheds%.vat sfact1_min dropitem %in_sheds%.vat sfact1_range dropitem %in_sheds%.vat sfact1_mean dropitem %in_sheds%.vat sfact1_std dropitem %in_sheds%.vat lsfact1_max dropitem %in_sheds%.vat lsfact1_min dropitem %in_sheds%.vat lsfact1_range dropitem %in_sheds%.vat lsfact1_mean dropitem %in_sheds%.vat lsfact1_std dropitem %in_sheds%.vat lfact2_max dropitem %in_sheds%.vat lfact2_min dropitem %in_sheds%.vat lfact2_range dropitem %in_sheds%.vat lfact2_mean dropitem %in_sheds%.vat lfact2_std dropitem %in_sheds%.vat sfact2_max dropitem %in_sheds%.vat sfact2_min dropitem %in_sheds%.vat sfact2_range dropitem %in_sheds%.vat sfact2_mean dropitem %in_sheds%.vat sfact2_std dropitem %in_sheds%.vat lsfact2_max dropitem %in_sheds%.vat lsfact2_min dropitem %in_sheds%.vat lsfact2_range dropitem %in_sheds%.vat lsfact2_mean dropitem %in_sheds%.vat lsfact2_std dropitem %in_sheds%.vat flowlen2_max dropitem %in_sheds%.vat flowlen2_min dropitem %in_sheds%.vat flowlen2_range dropitem %in_sheds%.vat flowlen2_mean dropitem %in_sheds%.vat flowlen2_std quit arc joinitem %in_sheds%.VAT ELEVSHEDSTATS %in_sheds%.VAT VALUE arc TABLES SEL %in_sheds%.VAT ALTER MIN ELEV_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_ELEV MAX ELEV_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_ELEV RANGE ELEV_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_ELEV MEAN ELEV_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_ELEV STD ELEV_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_ELEV [UNQUOTE ''] additem %in_sheds%.vat acres 8 8 f 2 calculate acres = area / 4046.852 additem %in_sheds%.vat km_sq 8 8 f 2 calculate km_sq = area / 1000000 additem %in_sheds%.vat mi_sq 8 8 f 2 calculate mi_sq = km_sq * 2590 dropitem %in_sheds%.vat sum additem %in_sheds%.vat basin_relief 8 8 f 2 calculate basin_relief = elev_range QUIT arc JOINITEM %in_sheds%.VAT SLOPESHEDSTATS %in_sheds%.VAT VALUE arc TABLES SEL %in_sheds%.VAT ALTER MIN SLOPE_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_SLOPE MAX SLOPE_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_SLOPE RANGE SLOPE_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_SLOPE MEAN SLOPE_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_SLOPE STD SLOPE_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_SLOPE [UNQUOTE ''] dropitem %in_sheds%.vat sum additem %in_sheds%.vat basin_slope 8 8 f 2 calculate basin_slope = slope_mean QUIT arc JOINITEM %in_sheds%.vat LENGTHASHEDSTATS %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN LENGTHA_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_LENGTHA MAX LENGTHA_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_LENGTHA RANGE LENGTHA_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_LENGTHA MEAN LENGTHA_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_LENGTHA STD LENGTHA_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_LENGTHA [UNQUOTE ''] dropitem %in_sheds%.vat sum QUIT arc JOINITEM %in_sheds%.vat LENGTHZSHEDSTATS %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN LENGTHZ_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_LENGTHZ MAX LENGTHZ_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_LENGTHZ RANGE LENGTHZ_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_LENGTHZ MEAN LENGTHZ_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_LENGTHZ STD LENGTHZ_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_LENGTHZ [UNQUOTE ''] dropitem %in_sheds%.vat sum additem %in_sheds%.vat basin_length 4 10 B calculate basin_length = lengthz_range QUIT arc JOINITEM %in_sheds%.vat FLOWASHEDSTATS %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN Flowa_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_Flowa MAX Flowa_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_Flowa RANGE Flowa_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_Flowa MEAN Flowa_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_Flowa STD Flowa_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_Flowa [UNQUOTE ''] dropitem %in_sheds%.vat sum quit arc JOINITEM %in_sheds%.vat FLOWZSHEDSTATS %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN Flowz_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_Flowz MAX Flowz_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_Flowz RANGE Flowz_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_Flowz MEAN Flowz_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_Flowz STD Flowz_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_Flowz [UNQUOTE ''] dropitem %in_sheds%.vat sum quit arc joinitem %in_sheds%.vat aspectshedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN ASPECT_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_ASPECT MAX ASPECT_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_ASPECT RANGE ASPECT_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_ASPECT MEAN ASPECT_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_ASPECT STD ASPECT_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_ASPECT [UNQUOTE ''] additem %in_sheds%.vat BASIN_ASPECT 8 8 f 2 calculate basin_aspect = mean_aspect quit &if not [EXISTS tri -grid] &then &do &type Terrain Ruggedness Index (TRI) does not exist. &type Use ruggedness.aml to create a TRI grid &call bailout &end ruggedshedstats = zonalstats (%in_sheds%, tri, all, data) arc joinitem %in_sheds%.vat ruggedshedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN RUGGED_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_RUGGED MAX RUGGED_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_RUGGED RANGE RUGGED_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_RUGGED MEAN RUGGED_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_RUGGED STD RUGGED_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_RUGGED [UNQUOTE ''] dropitem %in_sheds%.vat sum quit &if [EXISTS lfactor1 -GRID] &then &do l1shedstats = zonalstats ( %in_sheds%, lfactor1, all, data ) arc joinitem %in_sheds%.vat l1shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN LFACT1_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_LFACT1 MAX LFACT1_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_LFACT1 RANGE LFACT1_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_LFACT1 MEAN LFACT1_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_LFACT1 STD LFACT1_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_LFACT1 [UNQUOTE ''] quit &end &else &do &type Grid LFACTOR1 does not exist - run LSFACTOR.AML. &call exit &end &if [EXISTS sfactor1 -GRID] &then &do s1shedstats = zonalstats ( %in_sheds%, sfactor1, all, data ) arc joinitem %in_sheds%.vat s1shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN SFACT1_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_SFACT1 MAX SFACT1_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_SFACT1 RANGE SFACT1_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_SFACT1 MEAN SFACT1_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_SFACT1 STD SFACT1_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_SFACT1 [UNQUOTE ''] quit &end &else &do &type Grid SFACTOR1 does not exist - run LSFACTOR.AML. &call exit &end &if [EXISTS lsfactor1 -GRID] &then &do ls1shedstats = zonalstats ( %in_sheds%, lsfactor1, all, data ) arc joinitem %in_sheds%.vat ls1shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN LSFACT1_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_LSFACT1 MAX LSFACT1_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_LSFACT1 RANGE LSFACT1_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_LSFACT1 MEAN LSFACT1_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_LSFACT1 STD LSFACT1_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_LSFACT1 [UNQUOTE ''] quit &end &else &do &type Grid LSFACTOR1 does not exist - run LSFACTOR.AML. &call exit &end &if [EXISTS lfactor2 -GRID] &then &do l2shedstats = zonalstats ( %in_sheds%, lfactor2, all, data ) arc joinitem %in_sheds%.vat l2shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN LFACT2_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_LFACT2 MAX LFACT2_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_LFACT2 RANGE LFACT2_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_LFACT2 MEAN LFACT2_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_LFACT2 STD LFACT2_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_LFACT2 [UNQUOTE ''] quit &end &else &do &type Grid LFACTOR2 does not exist - run LSFACTOR.AML. &call exit &end &if [EXISTS sfactor2 -GRID] &then &do s2shedstats = zonalstats ( %in_sheds%, sfactor2, all, data ) arc joinitem %in_sheds%.vat s2shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN SFACT2_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_SFACT2 MAX SFACT2_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_SFACT2 RANGE SFACT2_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_SFACT2 MEAN SFACT2_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_SFACT2 STD SFACT2_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_SFACT2 [UNQUOTE ''] quit &end &else &do &type Grid SFACTOR2 does not exist - run LSFACTOR.AML. &call exit &end &if [EXISTS lsfactor2 -GRID] &then &do ls2shedstats = zonalstats ( %in_sheds%, lsfactor2, all, data ) arc joinitem %in_sheds%.vat ls2shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN LSFACT2_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_LSFACT2 MAX LSFACT2_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_LSFACT2 RANGE LSFACT2_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_LSFACT2 MEAN LSFACT2_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_LSFACT2 STD LSFACT2_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_LSFACT2 [UNQUOTE ''] quit &end &else &do &type Grid LSFACTOR2 does not exist - run LSFACTOR.AML. &call exit &end &if [EXISTS sloplenft2 -GRID] &then &do sloplen2shedstats = zonalstats ( %in_sheds%, sloplenft2, all, data ) arc joinitem %in_sheds%.vat sloplen2shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN slenft2_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_slenft2 MAX slenft2_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_slenft2 RANGE slenft2_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_slenft2 MEAN slenft2_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_slenft2 STD slenft2_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_slenft2 [UNQUOTE ''] quit &end &else &do &type Grid slopelenft2 does not exist - run LSFACTOR.AML. &call exit &end &if [EXISTS flowlengtha2 -GRID] &then &do flowlen2shedstats = zonalstats ( %in_sheds%, flowlengtha2, all, data ) arc joinitem %in_sheds%.vat flowlen2shedstats %in_sheds%.vat value arc TABLES SEL %in_sheds%.VAT ALTER MIN flowlen2_MIN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MIN_flowlen2 MAX flowlen2_MAX [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MAX_flowlen2 RANGE flowlen2_RANGE [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] RANGE_flowlen2 MEAN flowlen2_MEAN [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] MEAN_flowlen2 STD flowlen2_STD [UNQUOTE ''] [UNQUOTE ''] [UNQUOTE ''] STD_flowlen2 [UNQUOTE ''] quit &end &else &do &type Grid flowlengtha2 does not exist - run LSFACTOR.AML. &call exit &end /* /* The following have a problem with division by zero which needs to be /* fixed. /* /*additem %in_sheds%.vat BASIN_WIDTH 8 8 f 4 /*calculate basin_width = area / lengthz_range /*additem %in_sheds%.vat SHAPE_FACTOR 8 8 f 4 /*calculate shape_factor = lengthz_range / basin_width /*additem %in_sheds%.vat ELONGATION 8 8 f 4 /*calculate elongation = ( 1.13 * ( ( 1 / shape_factor ) ** 0.5 ) ) /*additem %in_sheds%.vat ROTUNDITY 8 8 f 4 /*calculate rotundity = ( 0.785 * shape_factor ) &end &echo &off /*------------------------------------------------------- /* OPTIONAL: RUN THE SECOND BASIN STATISTICS AML /* &r shedstats2 %in_sheds% %in_streams% /*------------------------------------------------------- &return /*------------ &routine usage /*------------ &type Usage: &r shedstats &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...