Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

114 lines
4.6 KiB

  1. ! The argument list for the various `initialize` subroutines.
  2. !
  3. ! See also: json_initialize_dummy_arguments.inc
  4. logical(LK),intent(in),optional :: verbose
  5. !! mainly useful for debugging (default is false)
  6. logical(LK),intent(in),optional :: compact_reals
  7. !! to compact the real number strings for output (default is true)
  8. logical(LK),intent(in),optional :: print_signs
  9. !! always print numeric sign (default is false)
  10. character(kind=CDK,len=*),intent(in),optional :: real_format
  11. !! Real number format: 'E' [default], '*', 'G', 'EN', or 'ES'
  12. integer(IK),intent(in),optional :: spaces_per_tab
  13. !! number of spaces per tab for indenting (default is 2)
  14. logical(LK),intent(in),optional :: strict_type_checking
  15. !! if true, no integer, double, or logical type
  16. !! conversions are done for the `get` routines
  17. !! (default is false).
  18. logical(LK),intent(in),optional :: trailing_spaces_significant
  19. !! for name and path comparisons, is trailing
  20. !! space to be considered significant.
  21. !! (default is false)
  22. logical(LK),intent(in),optional :: case_sensitive_keys
  23. !! for name and path comparisons, are they
  24. !! case sensitive. (default is true)
  25. logical(LK),intent(in),optional :: no_whitespace
  26. !! if true, printing the JSON structure is
  27. !! done without adding any non-significant
  28. !! spaces or linebreaks (default is false)
  29. logical(LK),intent(in),optional :: unescape_strings
  30. !! If false, then the raw escaped
  31. !! string is returned from [[json_get_string]]
  32. !! and similar routines. If true [default],
  33. !! then the string is returned unescaped.
  34. character(kind=CK,len=*),intent(in),optional :: comment_char
  35. !! If present, these characters are used
  36. !! to denote comments in the JSON file,
  37. !! which will be ignored if present.
  38. !! Example: `!`, `#`, or `/!#`. Setting this
  39. !! to a blank string disables the
  40. !! ignoring of comments. (Default is `/!#`).
  41. integer(IK),intent(in),optional :: path_mode
  42. !! How the path strings are interpreted in the
  43. !! `get_by_path` routines:
  44. !!
  45. !! * 1 : Default mode (see [[json_get_by_path_default]])
  46. !! * 2 : as RFC 6901 "JSON Pointer" paths
  47. !! (see [[json_get_by_path_rfc6901]])
  48. !! * 3 : JSONPath "bracket-notation"
  49. !! see [[json_get_by_path_jsonpath_bracket]])
  50. character(kind=CK,len=1),intent(in),optional :: path_separator
  51. !! The `path` separator to use
  52. !! in the "default" mode for
  53. !! the paths in the various
  54. !! `get_by_path` routines.
  55. !! Example: `.` [default] or `%`.
  56. !! Note: if `path_mode/=1`
  57. !! then this is ignored.
  58. logical(LK),intent(in),optional :: compress_vectors
  59. !! If true, then arrays of integers,
  60. !! nulls, doubles, and logicals are
  61. !! printed all on one line.
  62. !! [Note: `no_whitespace` will
  63. !! override this option if necessary].
  64. !! (Default is False).
  65. logical(LK),intent(in),optional :: allow_duplicate_keys
  66. !! * If True [default] then no special checks
  67. !! are done to check for duplicate keys.
  68. !! * If False, then after parsing, if any duplicate
  69. !! keys are found, an error is thrown. A call to
  70. !! [[json_value_validate]] will also check for
  71. !! duplicates.
  72. logical(LK),intent(in),optional :: escape_solidus
  73. !! * If True then the solidus "`/`" is always escaped
  74. !! "`\/`" when serializing JSON
  75. !! * If False [default], then it is not escaped.
  76. !!
  77. !! Note that this option does not affect parsing
  78. !! (both escaped and unescaped are still valid in
  79. !! all cases).
  80. logical(LK),intent(in),optional :: stop_on_error
  81. !! If an exception is raised, then immediately quit.
  82. !! (Default is False).
  83. integer(IK),intent(in),optional :: null_to_real_mode
  84. !! if `strict_type_checking=false`:
  85. !!
  86. !! * 1 : an exception will be raised if
  87. !! try to retrieve a `null` as a real.
  88. !! * 2 : a `null` retrieved as a real
  89. !! will return a NaN. [default]
  90. !! * 3 : a `null` retrieved as a real
  91. !! will return 0.0.
  92. integer(IK),intent(in),optional :: non_normal_mode
  93. !! How to serialize NaN, Infinity, and
  94. !! -Infinity real values:
  95. !!
  96. !! * 1 : as strings (e.g., "NaN",
  97. !! "Infinity", "-Infinity") [default]
  98. !! * 2 : as JSON `null` values
  99. logical(LK),intent(in),optional :: use_quiet_nan
  100. !! * If true [default], `null_to_real_mode=2`
  101. !! and [[string_to_real]] will use
  102. !! `ieee_quiet_nan` for NaN values.
  103. !! * If false,
  104. !! `ieee_signaling_nan` will be used.
  105. logical(LK),intent(in),optional :: strict_integer_type_checking
  106. !! * If false, when parsing JSON, if an integer numeric value
  107. !! cannot be converted to an integer (`integer(IK)`),
  108. !! then an attempt is then make to convert it
  109. !! to a real (`real(RK)`).
  110. !! * If true, an exception will be raised if the integer
  111. !! value cannot be read.
  112. !!
  113. !! (default is true)