= make_scriptP = (Compiled by DL) '''Purpose:''' Generates the run script and .INN files required to iterate maplets using [[lithosP]]. === Requires === * [[make_script.in]] - text file containing a list of the landmarks to be processed, appended with the end-of-file identifier, 'END'. * [[make_scriptP.seed]] - test file containing the [[lithosP]] option commands for iterating each maplet. * [[INIT_LITHOS]] - make_scriptP reads the USRMX (maximum number of core processors) value. * TESTFILES1/ - Directory in which to store copies of LMRK_DISPLAY.pgm (output by [[lithosP]]) for each landmark. NB: [[lithosP]] requires a number of directories and files - refer to relevant guide. === Output === make_scriptP outputs: * run.sh - controlling run script for batch maplet iteration using parallel processing; * run script for each core processor: * run_script01.b * run_script02.b * etc ... * .INN files - [[lithosP]] seed file for each maplet. * rem_script.b - script for removal of temporary files (working directory clean-up). run_script''nn''.b outputs: * .OOT files - standard output from [[lithosP]] for each landmark. * TESTFILES/ - a copy of LMRK_DISPLAY.pgm (output by [[lithosP]]) is saved for each landmark; * [[SUMFILES]]/ - S/C and camera information are updated by [[lithosP]] as image shifts are accepted. New landmarks and limb fits are added to the SUMFILEs; * [[LMKFILES]]/ - LMKFILES are updated by [[lithosP]]. * [[MAPFILES]]/ - MAPFILES are updated by [[lithosP]]. * a number of information text and display files in the working directory are modified by [[lithosP]]; please refer to the relevant guide for details. == Using make_scriptP == For guidance with iteration procedures, refer to the 'How-To': [[Standard_iteration]]. === Create Input Files === The make_script.in file comprises the list of landmark names for the landmarks which should be processed. It is standard procedure to ensure that the list is ordered by: * highest-to-lowest maplet ground sample distance; * name (region identifier (e.g.: ''FF''), unique numeric identifier (e.g.: ''0001''); and the user should ensure that duplicate entries do not exist. The program [[duplicates]] can be used to generate the make_script.in file. Example '''make_script.in''' file: {{{ EE0001 EE0002 EE0003 etc... END }}} Example '''make_scriptP.seed''' file (see [[make_scriptP.seed]] for further details): {{{ # This script performs two maplet iterations in parallel mode. # It reinitializes slope and albedo. # It recomputes maplet overlaps. # It recomputes limb fits. # It recomputes central maplet vector. # Topography determination from slopes is conditioned by: # Initial topography, # Overlapping topography, # Shadowing, # Differential stereo, # Limb heghts. # Dataless area slopes are set from the shape model. # # The script hides most of the screen output. In order to obtain the # full display replace H* by #H*. # # Modified 2011_12_31. Header and comments added. # Modified 2014_02_26. Hide screen output added. # H* x .025 # # Initialize slope and albedo. # a y y # # Begin first iteration. # 0 40 1 0 1 n 0 y u 0 40 # # Begin topo determination. # 2 8 fill no data with shape slope 2 condition with existing topo .01 7 condition with shadows .025 1 condition with overlapping maps 4 condition with limbs 1, 2.5, 3 6 condition with differential stereo y 0 begin integration .025 15 0 u 1 0 2 n 0 y 1 0 1 n 0 y u # # Begin second iteration. # 0 40 1 0 1 n 0 y u 0 40 # # Begin topo determination. # 2 8 2 .01 7 .025 1 4 1, 2.5, 3 6 y 0 .025 15 0 u 1 0 2 n 0 y H* 1 0 1 n 0 y H* u # # Begin overlaps and limb fits. # o RECENT y 1 o RECENT n 3 y 1, 3, 5 # # Central vector determination. # v RECENT q END }}} == Run make_scriptP == make_scriptP generates a .INN file for each maplet. The first three lines of the .INN file (see below) supply a processor identifier (e.g.: ''01''), and load the landmark in [[lithosP]]. The remainder of the .INN file comprises a copy of the [[lithosP]] commands contained in [[make_scriptP.seed]]. Example '''EE0001.INN''' file: {{{ 01 i EE0001 H* x .025 0 40 etc ... }}} make_scriptP also generates the controller run script - '''run.sh''': {{{ chmod +x run_script01.b chmod +x run_script02.b etc ... cd SHAPEFILES chmod +w SHAPE.TXT cp SHAPE.TXT TSHP01.TXT cp SHAPE.TXT TSHP02.TXT etc ... chmod -w SHAPE.TXT cd .. ./run_script01.b & ./run_script02.b & etc ... }}} and the run scripts: '''run_script01.b'''; '''run_script02.b'''; etc.: {{{ rm -f EE0001.OOT /usr/local/bin/LITHOSP < EE0001.INN > EE0001.OOT cp LMRK_DISPLAY01.pgm TESTFILES1/EE0001.pgm rm -f EE0007.OOT /usr/local/bin/LITHOSP < EE0007.INN > EE0007.OOT cp LMRK_DISPLAY01.pgm TESTFILES1/EE0007.pgm rm -f EE0013.OOT etc ... }}} == Conduct Standard Iteration == {{{ sh run.sh }}} or in the background: {{{ nohup sh run.sh & }}} The [[lithosP]] standard output for each image is captured in the .OOT files. == Quality Check Iterated Maplets == The user must review the .OOT files to ascertain the success of the iteration process, problem landmarks can be detected using the utility program [[find_nofitP]], refer to relevant guide for further details. == Clean Working Directory == rem_script.b can be used to clean out the directory of make_scriptP working files once iteration is complete and user has quality checked the iterated maplets: {{{ rm -f *.INN rm -f *.OOT rm -f run_script* }}} == User Warnings == * The user must ensure that the correct number of core processors is set for USRMX, a variable contained in [[INIT_LITHOS]], refer to relevant guide for further details.