00001 #ifndef __ACDIVA_SELFDOC__
00002 #define __ACDIVA_SELFDOC__
00003
00004 const char * sdoc[] = {
00005 " IVA based on acoustic constant density centered difference modeling in ",
00006 " 2D or 3D.",
00007 " ",
00008 " Authors: Muhong Zhou, Yin Huang, William W. Symes",
00009 " ",
00010 " Typical parameter list. May be copied, edited, and used for input: either",
00011 " include parameters on command line (for example in Flow), or place",
00012 " in file <foo> and include \"par=<foo>\" on command line. Any parameter",
00013 " included explicitly in command line overrides parameter with same key",
00014 " in par file.",
00015 " ",
00016 " Invoke single threaded execution by ",
00017 " ",
00018 " \"sfacdwemva [parameters] [Madagascar install]\"",
00019 " ",
00020 " or ",
00021 " ",
00022 " \"acdwemva.x [parameters] [standalone install]\"",
00023 " ",
00024 " or multi-threaded execution using interactive or batch MPI (for which",
00025 " code must be compiled with MPI enabled).",
00026 " ",
00027 " Given values are defaults; non-optional values indicated by corner brackets.",
00028 " ",
00029 " --------------------------- begin parameters ---------------------------",
00030 " ",
00031 " FD info:",
00032 " ",
00033 " order = 2 spatial half-order",
00034 " cfl = 0.75 proportion of max dt/dx",
00035 " cmin = 1.0 min permitted velocity (m/ms) - sanity check",
00036 " cmax = 4.5 max permitted velocity (m/ms) - used in dt comp",
00037 " ",
00038 " ------------------------------------------------------------------------",
00039 " Source info:",
00040 " ",
00041 " source = <path> path to input source data file (traces), ",
00042 " SU format, source position(s) indicated by",
00043 " RECEIVER coordinates (gx, gy, gelev) - may",
00044 " prepare input source with correct headers",
00045 " using trace/main/towed_array.x",
00046 " sampord = 1 spatial interp order - 0 (nr nbr) or ",
00047 " 1 (multilin)",
00048 " ",
00049 " ------------------------------------------------------------------------",
00050 " Trace info:",
00051 " ",
00052 " datafile = <path> input data file, SU format - must exist ",
00053 " headers establish acquisition geometry",
00054 " ",
00055 " ------------------------------------------------------------------------",
00056 " Model info:",
00057 " ",
00058 " csq = <path> input vel-squared reference file, ",
00059 " determines simulation spatial grid,",
00060 " only headers used in this application",
00061 " but can name same file as initial vel-",
00062 " squared model"
00063 " ",
00064 " init_velsq = <path> input initial vel-squared",
00065 " ",
00066 " final_velsq = <path> output final WEMVA vel-squared estimate",
00067 " ",
00068 " reflectivity = <path> output vel-squared perturbation",
00069 " aka true-amplitude migration",
00070 " ",
00071 " DSWeight = 0.0 differential semblance penalty weight",
00072 " ",
00073 " ------------------------------------------------------------------------",
00074 " MPI info:",
00075 " ",
00076 " mpi_np1 = 1 number of subdomains along axis 1",
00077 " mpi_np2 = 1 number of subdomains along axis 2",
00078 " mpi_np3 = 1 number of subdomains along axis 3",
00079 " partask = 1 number of shots to execute in parallel",
00080 " ",
00081 " ------------------------------------------------------------------------",
00082 " Conjugate Gradient info (inner linear inversion)",
00083 " ",
00084 " ResidualTol = 100.0*numeric_limits<float>::epsilon()",
00085 " relative residual reduction thresshold",
00086 " GradientTol = 100.0*numeric_limits<float>::epsilon()",
00087 " relative gradient reduction threshhold",
00088 " MaxStep = numeric_limits<float>::max()",
00089 " max permitted step length",
00090 " MaxIter = 10 CG iteration limit",
00091 " ",
00092 " ------------------------------------------------------------------------",
00093 " LBFGS info (outer nonlinear inversion)",
00094 " ",
00095 " InvHessianScale = 1.0f",
00096 " overall inverse Hessian scale",
00097 " MaxInvHessianUpdates = 5",
00098 " dimension of BFGS subspace",
00099 " MaxLineSrchSteps = 10",
00100 " max linesearch steps permitted",
00101 " VerboseDisplay = true",
00102 " false = no output, true = function",
00103 " value, gradient norm at each iteration,",
00104 " report of line search",
00105 " FirstStepLength = 1.0f",
00106 " initial step length, fraction of gradient",
00107 " GAStepAcceptThresh = 0.1f",
00108 " first Goldstein-Armijo param",
00109 " GAStepDoubleThresh = 0.9f",
00110 " second Goldstein-Armijo param",
00111 " LSBackTrackFac = 0.5f",
00112 " step decrease factor for line search",
00113 " LSDoubleFac = 1.8f",
00114 " step increase factor for line search",
00115 " MaxFracDistToBdry = 1.0",
00116 " fraction of max step to boundary permitted",
00117 " LSMinStepFrac = 1.e-06",
00118 " minimum fraction of step permitted",
00119 " MaxLBFGSIter = 3",
00120 " iteration limit for BFGS steps",
00121 " AbsGradThresh = 0.0",
00122 " absolute stopping tolerance for gradient",
00123 " RelGradThresh = 1.e-2",
00124 " relative stopping tolerance for gradient",
00125 " ",
00126 " ------------------------------------------------------------------------",
00127 " Output info:",
00128 " ",
00129 " outfile = \"\" output filename for optimization - if empty",
00130 " string, then output goes to terminal",
00131 " ",
00132 " FD ouput - written to coutxxx.txt on rank xxx",
00133 " printact = 0 output at every time step",
00134 " 0 - none",
00135 " 1 - time step index",
00136 " 2 - diagnostic messages from main routines",
00137 " > 2 - much more, useful only for serious ",
00138 " debugging",
00139 " dump_pi = 0 dump parallel/dom. decomp info",
00140 " dump_lda = 0 dump grid data for allocated arrays",
00141 " dump_ldc = 0 dump grid data for computational arrays",
00142 " dump_ldr = 0 dump grid data for receive buffers",
00143 " dump_lds = 0 dump grid data for send buffers",
00144 " dump_term = 0 dump trace header data",
00145 " ",
00146 " ---------------------------end parameters ------------------------------",
00147 NULL };
00148
00149 #endif