| MONC
    | 
Component to set up the model based upon a KiD model configuration. More...
| Functions/Subroutines | |
| type(component_descriptor_type) function, public | kidreader_get_descriptor () | 
| Provides the descriptor back to the caller and is used in component registration.  More... | |
| subroutine | initialise_callback (current_state) | 
| Initialisation hook which will parse the configuration NetCDF file and set up the model based upon this.  More... | |
| subroutine | set_up_q_fields (current_state) | 
| subroutine | populate_q_tracer (current_state, q_field) | 
| Populates the Q tracer field based upon the configuration that has been read in from the simulation file.  More... | |
| subroutine | initialise_single_q_field (current_state, q_id, z_size, y_size, x_size) | 
| subroutine | decompose_grid (current_state) | 
| Calls the decomposition procedure to decompose the grid and determine neighbouring processes If no decomposition procedure is specified then this results in an error.  More... | |
| subroutine | initalise_source_and_z_fields (current_state) | 
| Based upon the local grid this will initialise the Source, Z and SAV fields for each prognostic.  More... | |
| subroutine | initialise_velocity_field (local_grid, field, z_grid, y_grid, x_grid, data) | 
| Will initialise a velocity field with the loaded data.  More... | |
| subroutine | create_grid (specific_grid, z, x, z_dim, x_dim, my_rank) | 
| Creates a specific grid based upon the data read from the KiD model NetCDF file.  More... | |
| subroutine | define_vertical_levels (current_state, z, z_size) | 
| Defines the vertical levels of the grid. This is both the grid points and corresponding height for each point in metres.  More... | |
| subroutine | check_kinematics_file (ncid) | 
| Checks that the kinematics file that has been loaded is consistent with what we expect.  More... | |
| subroutine | read_variables (ncid, time_dim, z_dim, z_half_dim, x_dim, x_half_dim, time, x, z, x_half, z_half, u, w, v) | 
| Reads the variables from the NetCDF KiD model file.  More... | |
| subroutine | read_single_variable (ncid, key, data1d, data3d) | 
| Reads a single variable out of a NetCDF file.  More... | |
| subroutine | read_dimensions (ncid, time_dim, z_dim, z_half_dim, x_dim, x_half_dim) | 
| Reads the dimensions from the NetCDF file.  More... | |
| subroutine | read_global_attributes (ncid, pid) | 
| Will read the global attributes of the NetCDF KiD model dump and log_log them to debug.  More... | |
| character(len=:) function, allocatable, target | read_specific_global_attribute (ncid, key) | 
| Will read a specific global NetCDF attribute.  More... | |
| subroutine | check_status (status) | 
| Will check a NetCDF status and write to log_log error any decoded statuses.  More... | |
| Variables | |
| integer, parameter | number_q_coords = 100 | 
| Number of Q field value coords that can be specified.  More... | |
| character(len= *), parameter | time_key = "time" | 
| Corresponding NetCDF data time key.  More... | |
| character(len= *), parameter | z_key = "z" | 
| Corresponding NetCDF data z (primal grid) key.  More... | |
| character(len= *), parameter | z_half_key = "z_half" | 
| Corresponding NetCDF data z half (dual grid) key.  More... | |
| character(len= *), parameter | x_key = "x" | 
| Corresponding NetCDF data x (primal grid) key.  More... | |
| character(len= *), parameter | x_half_key = "x_half" | 
| Corresponding NetCDF data x half (primal grid) key.  More... | |
| character(len= *), parameter | u_key ="u" | 
| Corresponding NetCDF data u flow field key.  More... | |
| character(len= *), parameter | w_key ="w" | 
| Corresponding NetCDF data w flow field key.  More... | |
| logical | flood_q = .false. | 
| logical | float_q = .false. | 
| logical | clone_to_3d = .false. | 
| logical | rotate_xy =.false. | 
| integer | domain_multiplication =1 | 
| The Q field coordinates configured by the user.  More... | |
| integer, dimension(number_q_coords), save | q_coordinates_x | 
| integer, dimension(number_q_coords), save | q_coordinates_y | 
| integer, dimension(number_q_coords), save | q_coordinates_z | 
| integer, dimension(number_q_coords), save | q_coordinates_value | 
| character(len=string_length) | configuration_file | 
| NetCDF model file to load.  More... | |
Component to set up the model based upon a KiD model configuration.
These data files are in NetCDF format
| 
 | private | 
Checks that the kinematics file that has been loaded is consistent with what we expect.
This checks the file against a number of limitations of the current KiD reading functionality to ensure that this component can parse it correctly
Definition at line 378 of file kidreader.F90.


| 
 | private | 
Will check a NetCDF status and write to log_log error any decoded statuses.
| status | The NetCDF status flag | 
Definition at line 535 of file kidreader.F90.

| 
 | private | 
Creates a specific grid based upon the data read from the KiD model NetCDF file.
| specific_grid | The grid to create | 
| z | Array of grid points in the z dimension | 
| x | Array of grid points in the x dimension | 
| z_dim | The number of points in the z dimension | 
| x_dim | The number of points in the x dimension | 
Definition at line 304 of file kidreader.F90.

| 
 | private | 
Calls the decomposition procedure to decompose the grid and determine neighbouring processes If no decomposition procedure is specified then this results in an error.
| current_state | The current model state_mod | 
Definition at line 191 of file kidreader.F90.

| 
 | private | 
Defines the vertical levels of the grid. This is both the grid points and corresponding height for each point in metres.
| current_state | The current model state_mod | 
| z | Array of grid heights in metres | 
| z_size | Number of grid points | 
Definition at line 358 of file kidreader.F90.

| 
 | private | 
Based upon the local grid this will initialise the Source, Z and SAV fields for each prognostic.
| current_state | 
Definition at line 203 of file kidreader.F90.

| 
 | private | 
Initialisation hook which will parse the configuration NetCDF file and set up the model based upon this.
| current_state | The current model state_mod | 
Definition at line 54 of file kidreader.F90.


| 
 | private | 
Definition at line 174 of file kidreader.F90.

| 
 | private | 
Will initialise a velocity field with the loaded data.
| field | The velocity field to initialise | 
| z_dim | The size of the z dimension | 
| y_dim | The size of the y dimension | 
| x_dim | The size of the x dimension | 
| grid | The applicable grid to place this field upon | 
| data | The NetCDF KiD model data to load into the velocity field | 
Definition at line 244 of file kidreader.F90.

| type(component_descriptor_type) function, public kidreader_mod::kidreader_get_descriptor | 
Provides the descriptor back to the caller and is used in component registration.
Definition at line 45 of file kidreader.F90.

| 
 | private | 
Populates the Q tracer field based upon the configuration that has been read in from the simulation file.
| current_state | The current model state_mod | 
| q_field | The qfield that we are going to fill in | 
Definition at line 131 of file kidreader.F90.

| 
 | private | 
Reads the dimensions from the NetCDF file.
| ncid | The NetCDF file id | 
| time_dim | Number of elements in the time dimension | 
| z_dim | Number of elements in the z dimension of the primal grid | 
| z_half_dim | Number of elements in the z dimension of the dual grid | 
| x_dim | Number of elements in the x dimension of the primal grid | 
| x_half_dim | Number of elements in the x dimension of the dual grid | 
Definition at line 482 of file kidreader.F90.


| 
 | private | 
Will read the global attributes of the NetCDF KiD model dump and log_log them to debug.
| ncid | The NetCDF file id | 
Definition at line 503 of file kidreader.F90.


| 
 | private | 
Reads a single variable out of a NetCDF file.
| ncid | The NetCDF file id | 
| key | The variable key (name) to access | 
| data1d | Optional one dimensional data to read into | 
| data3d | Optional three dimensional data to read into | 
Definition at line 451 of file kidreader.F90.


| 
 | private | 
Will read a specific global NetCDF attribute.
| ncid | The NetCDF file id | 
| key | The name (key) of the attribute to read | 
Definition at line 521 of file kidreader.F90.


| 
 | private | 
Reads the variables from the NetCDF KiD model file.
| ncid | The id of the NetCDF file | 
| time_dim | The number of elements in the time dimension | 
| z_dim | The number of elements in the z primal grid dimension | 
| z_half_dim | The number of elements in the z dual grid dimension | 
| x_dim | The number of elements in the x primal grid dimension | 
| x_half_dim | The number of elements in the x dual grid dimension | 
| time | The time data field that is to be read | 
| x | The points on the primal grid in x dimension | 
| z | The points on the primal grid z dimension | 
| x_half | The points on the dual grid x dimension | 
| z_half | The points on the dual grid z dimension | 
| u | Velocity field in dimension x to read | 
| w | Velocity field in dimension z to read | 
Definition at line 404 of file kidreader.F90.


| 
 | private | 
Definition at line 106 of file kidreader.F90.


| 
 | private | 
Definition at line 31 of file kidreader.F90.
| 
 | private | 
NetCDF model file to load.
Definition at line 37 of file kidreader.F90.
| 
 | private | 
The Q field coordinates configured by the user.
Definition at line 32 of file kidreader.F90.
| 
 | private | 
Definition at line 31 of file kidreader.F90.
| 
 | private | 
Definition at line 31 of file kidreader.F90.
| 
 | private | 
Number of Q field value coords that can be specified.
Definition at line 22 of file kidreader.F90.
| 
 | private | 
Definition at line 35 of file kidreader.F90.
| 
 | private | 
Definition at line 35 of file kidreader.F90.
| 
 | private | 
Definition at line 35 of file kidreader.F90.
| 
 | private | 
Definition at line 35 of file kidreader.F90.
| 
 | private | 
Definition at line 31 of file kidreader.F90.
| 
 | private | 
Corresponding NetCDF data time key.
Definition at line 23 of file kidreader.F90.
| 
 | private | 
Corresponding NetCDF data u flow field key.
Definition at line 23 of file kidreader.F90.
| 
 | private | 
Corresponding NetCDF data w flow field key.
Definition at line 23 of file kidreader.F90.
| 
 | private | 
Corresponding NetCDF data x half (primal grid) key.
Definition at line 23 of file kidreader.F90.
| 
 | private | 
Corresponding NetCDF data x (primal grid) key.
Definition at line 23 of file kidreader.F90.
| 
 | private | 
Corresponding NetCDF data z half (dual grid) key.
Definition at line 23 of file kidreader.F90.
| 
 | private | 
Corresponding NetCDF data z (primal grid) key.
Definition at line 23 of file kidreader.F90.