def METHOD_NAME(subparsers=None):
    synopsis = 'DEM Error (Topographic Residual) Correction'
    epilog = REFERENCE + '\n' + TEMPLATE + '\n' + EXAMPLE
    name = __name__.split('.')[-1]
    parser = arg_utils.create_argument_parser(
        name, synopsis=synopsis, description=synopsis, epilog=epilog, subparsers=subparsers)
    parser.add_argument('ts_file', help='Time-series HDF5 file to be corrected.')
    parser.add_argument('-g', '--geometry', dest='geom_file',
                        help='geometry file including datasets:\n'+
                             'incidence angle\n'+
                             'slant range distance\n' +
                             'and/or 3D perpendicular baseline')
    parser.add_argument('-o', '--outfile', dest='ts_cor_file',
                        help='Output file name for corrected time-series (default: add suffix of "_demErr")')
    parser.add_argument('--dem-err-file','--dem-error-file', dest='dem_err_file', default='demErr.h5',
                        help='Output file name for the estimated DEM error (default: %(default)s).')
    defo_model = parser.add_argument_group('temporal deformation model')
    defo_model.add_argument('-t', '--template', dest='template_file',
                            help='template file with the options')
    defo_model.add_argument('--ex', '--exclude', dest='excludeDate', nargs='*', default=[],
                            help='Exclude date(s) for DEM error estimation.\n' +
                                 'All dates will be corrected for DEM residual phase still.')
    defo_model.add_argument('-p', '--poly-order', dest='polyOrder', type=int, default=2,
                            help='polynomial order number of temporal deformation model (default: %(default)s).')
    defo_model.add_argument('-s', '--step-date', dest='stepFuncDate', nargs='*', default=[],
                            help='Date of step jump for temporal deformation model (default: %(default)s).'+
                                 ' i.e. date of earthquake/volcanic eruption')
    defo_model.add_argument('--periodic', '--period', '--peri', dest='periodic', type=float, nargs='+', default=[],
                            help='periodic functinos of temporal deformation model (default: %(default)s).')
    parser.add_argument('--phase-velocity', dest='phaseVelocity', action='store_true',
                        help='Use phase velocity instead of phase for inversion constrain.')
    parser.add_argument('--update', dest='update_mode', action='store_true',
                        help='Enable update mode, and skip inversion if:\n'+
                             '1) output time-series file already exists, readable '+
                             'and newer than input interferograms file\n' +
                             '2) all configuration parameters are the same.')
    # computing
    parser = arg_utils.add_memory_argument(parser)
    parser = arg_utils.add_parallel_argument(parser)
    return parser