gflow / GFlow

Software for modeling circuit theory-based connectivity
GNU General Public License v3.0
22 stars 5 forks source link

Node location ID #8

Closed pbleonard closed 7 years ago

pbleonard commented 8 years ago

@eduffy Instead of each pairwise solution being numbered by iteration is it possible to name each pairwise calculation based on its location so one can go back and inspect a particular set of nodes? This is probably most important for the effective_resistance output!

eduffy commented 7 years ago

Commit e2236e8 adds this capability. There are two new command line options:

  1. -output_density_filename defines the output current density for every iteration
  2. -output_sum_density_filename defines the output of the final summed current density

Some things to note:

  1. The format of the output is decided by the filename extension. Options are: .asc, .asc.gz, and .amp.
  2. There are four special strings that will be expanded at the time the file is created; these are:
    • {src}: The ID of the source node used for the pairwise calculation
    • {dest}: The ID of the destination node used for the pairwise calculation
    • {iter}: The iteration number of the pairwise calculation
    • {time}: The time at which the file was created Optionally, you may provide a field-width specifier after the variable name to pad the number with 0s to fill that width. For example, the string {iter:4} would expand to 0025 on iteration #25.
  3. Omitting -output_density_filename from your command-line options means the solution will be discarded after each iterations. Likewise, if you omit -output_sum_density_filename, the final summed current density will be discarded. There are no defaults for these options.
  4. These new options alleviate the need for -output_directory, -output_prefix, -output_format, and -output_final_current_only. For example, this combination of switches:
    -output_directory ${OUTPUT_DIRECTORY} \
    -output_prefix deer_ \
    -output_format asc \
    -output_final_current_only 0 \

    Can be replaced with:

    -output_density_filename "${OUTPUT_DIRECTORY}/deer_{iter:6}.asc" \
    -output_sum_density_filename "${OUTPUT_DIRECTORY}/deer_final.asc" \

Example usage

-output_density_filename "${OUTPUT_DIR}/bb270_{src:5}_{dest:5}.asc.gz" \
-output_sum_density_filename "${OUTPUT_DIR}/{time}_bb270_sum_{iter}.asc" \

The first switch will create a compressed ASCII grid at every iteration, with the source and destination node IDs in the filename padded to 5 digits. Some sample results look like this:

bb270_00001_00518.asc.gz
bb270_00003_00154.asc.gz
bb270_00006_00469.asc.gz
bb270_00007_00382.asc.gz
bb270_00008_00376.asc.gz

The second switch generates an uncompressed ASCII grid file when the solution is completed. The resulting filename is prefixed with the time at which the solution converged, and ends with the number of iterations it took to complete. A sample result would look like this:

1483528696_bb270_sum_2412.asc
pbleonard commented 7 years ago

@eduffy can't test right now but just double checking: these flags do require use of ' ' in paths unlike before

eduffy commented 7 years ago

No.i just did it that way because of syntax highlighter

sent from my mobile.

On Jan 4, 2017 11:51 AM, "Paul Leonard" notifications@github.com wrote:

@eduffy https://github.com/eduffy can't test right now but just double checking: these flags do require use of ' ' in paths unlike before

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Pbleonard/GFlow/issues/8#issuecomment-270421719, or mute the thread https://github.com/notifications/unsubscribe-auth/AA0zmVWETcfPnRpnwSyg-1s8Mo_Ts827ks5rO84fgaJpZM4KU9YJ .