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.