Neko  0.9.0
A portable framework for high-order spectral element flow simulations
json_utils Module Reference

Utilities for retrieving parameters from the case files.

Data Types

interface  json_get
 Retrieves a parameter by name or throws an error. More...
 
interface  json_get_or_default
 Retrieves a parameter by name or assigns a provided default value. In the latter case also adds the missing paramter to the json. More...
 
interface  json_extract_item
 

Functions/Subroutines

subroutine json_get_real (json, name, value)
 Retrieves a real parameter by name or throws an error. More...
 
subroutine json_get_double (json, name, value)
 Retrieves a double precision real parameter by name or throws an error. More...
 
subroutine json_get_integer (json, name, value)
 Retrieves an integer parameter by name or throws an error. More...
 
subroutine json_get_logical (json, name, value)
 Retrieves a logical parameter by name or throws an error. More...
 
subroutine json_get_string (json, name, value)
 Retrieves a string parameter by name or throws an error. More...
 
subroutine json_get_real_array (json, name, value)
 Retrieves a real array parameter by name or throws an error. More...
 
subroutine json_get_double_array (json, name, value)
 Retrieves a real array parameter by name or throws an error. More...
 
subroutine json_get_integer_array (json, name, value)
 Retrieves a integer array parameter by name or throws an error. More...
 
subroutine json_get_logical_array (json, name, value)
 Retrieves a logical array parameter by name or throws an error. More...
 
subroutine json_get_string_array (json, name, value, filler)
 Retrieves a string array parameter by name or throws an error. More...
 
subroutine json_get_subdict (json, key, output)
 Extract a sub-object from a json object. More...
 
subroutine json_get_or_default_real (json, name, value, default)
 Retrieves a real parameter by name or assigns a provided default value. In the latter case also adds the missing paramter to the json. More...
 
subroutine json_get_or_default_double (json, name, value, default)
 Retrieves a real parameter by name or assigns a provided default value. In the latter case also adds the missing paramter to the json. More...
 
subroutine json_get_or_default_integer (json, name, value, default)
 Retrieves an integer parameter by name or assigns a provided default value. In the latter case also adds the missing paramter to the json. More...
 
subroutine json_get_or_default_logical (json, name, value, default)
 Retrieves a logical parameter by name or assigns a provided default value. In the latter case also adds the missing paramter to the json. More...
 
subroutine json_get_or_default_string (json, name, value, default)
 Retrieves a string parameter by name or assigns a provided default value. In the latter case also adds the missing paramter to the json. More...
 
subroutine json_extract_item_from_array (core, array, i, item)
 Extract ith item from a JSON array as a separate JSON object. More...
 
subroutine json_extract_item_from_name (json, name, i, item)
 Extract ith item from a JSON array as a separate JSON object. More...
 
subroutine, public json_extract_object (json, name, object)
 Extract object as a separate JSON dictionary. More...
 

Function/Subroutine Documentation

◆ json_extract_item_from_array()

subroutine json_utils::json_extract_item_from_array ( type(json_core), intent(inout)  core,
type(json_value), intent(in), pointer  array,
integer, intent(in)  i,
type(json_file), intent(inout)  item 
)
private
Parameters
[in,out]coreJSON core object.
[in]arrayThe JSON object with the array.
[in]iThe index of the item to extract.
[in,out]itemJSON object object to be filled with the subdict.

Definition at line 380 of file json_utils.f90.

◆ json_extract_item_from_name()

subroutine json_utils::json_extract_item_from_name ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
integer, intent(in)  i,
type(json_file), intent(out)  item 
)
private
Parameters
[in,out]jsonThe JSON object with the array.
[in]nameThe name of the array.
[in]iThe index of the item to extract.
[in,out]itemJSON object object to be filled with the subdict.

Definition at line 400 of file json_utils.f90.

◆ json_extract_object()

subroutine, public json_utils::json_extract_object ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
type(json_file), intent(inout)  object 
)
Parameters
[in,out]jsonThe JSON with the object to be extracted.
[in]nameThe name of the object to extract.
[in,out]objectThe extracted JSON object.

Definition at line 429 of file json_utils.f90.

Here is the caller graph for this function:

◆ json_get_double()

subroutine json_utils::json_get_double ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
real(kind=dp), intent(out)  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 85 of file json_utils.f90.

◆ json_get_double_array()

subroutine json_utils::json_get_double_array ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
real(kind=dp), dimension(:), intent(out), allocatable  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 165 of file json_utils.f90.

◆ json_get_integer()

subroutine json_utils::json_get_integer ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
integer, intent(out)  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 101 of file json_utils.f90.

◆ json_get_integer_array()

subroutine json_utils::json_get_integer_array ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
integer, dimension(:), intent(out), allocatable  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 181 of file json_utils.f90.

◆ json_get_logical()

subroutine json_utils::json_get_logical ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
logical, intent(out)  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 117 of file json_utils.f90.

◆ json_get_logical_array()

subroutine json_utils::json_get_logical_array ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
logical, dimension(:), intent(out), allocatable  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 197 of file json_utils.f90.

◆ json_get_or_default_double()

subroutine json_utils::json_get_or_default_double ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
real(kind=dp), intent(out)  value,
real(kind=dp), intent(in)  default 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 300 of file json_utils.f90.

◆ json_get_or_default_integer()

subroutine json_utils::json_get_or_default_integer ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
integer, intent(out)  value,
integer, intent(in)  default 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 320 of file json_utils.f90.

◆ json_get_or_default_logical()

subroutine json_utils::json_get_or_default_logical ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
logical, intent(out)  value,
logical, intent(in)  default 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 340 of file json_utils.f90.

◆ json_get_or_default_real()

subroutine json_utils::json_get_or_default_real ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
real(kind=sp), intent(out)  value,
real(kind=sp), intent(in)  default 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 280 of file json_utils.f90.

◆ json_get_or_default_string()

subroutine json_utils::json_get_or_default_string ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
character(len=:), intent(out), allocatable  value,
character(len=*), intent(in)  default 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 360 of file json_utils.f90.

◆ json_get_real()

subroutine json_utils::json_get_real ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
real(kind=sp), intent(out)  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter.

Definition at line 69 of file json_utils.f90.

◆ json_get_real_array()

subroutine json_utils::json_get_real_array ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
real(kind=sp), dimension(:), intent(out), allocatable  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 149 of file json_utils.f90.

◆ json_get_string()

subroutine json_utils::json_get_string ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
character(len=:), intent(out), allocatable  value 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter

Definition at line 133 of file json_utils.f90.

◆ json_get_string_array()

subroutine json_utils::json_get_string_array ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  name,
character(len=*), dimension(:), intent(out), allocatable  value,
character(len=*), intent(in), optional  filler 
)
private
Parameters
[in,out]jsonThe json to retrieve the parameter from.
[in]nameThe full path to the parameter.
[out]valueThe variable to be populated with the retrieved parameter
[in]fillerThe default string to fill empty array items with.

Definition at line 214 of file json_utils.f90.

◆ json_get_subdict()

subroutine json_utils::json_get_subdict ( type(json_file), intent(inout)  json,
character(len=*), intent(in)  key,
type(json_file), intent(out)  output 
)
private

Definition at line 254 of file json_utils.f90.