MONC
Modules | Functions/Subroutines | Variables
kidreader.F90 File Reference

Go to the source code of this file.

Modules

module  kidreader_mod
 Component to set up the model based upon a KiD model configuration.
 

Functions/Subroutines

type(component_descriptor_type) function, public kidreader_mod::kidreader_get_descriptor ()
 Provides the descriptor back to the caller and is used in component registration. More...
 
subroutine kidreader_mod::initialise_callback (current_state)
 Initialisation hook which will parse the configuration NetCDF file and set up the model based upon this. More...
 
subroutine kidreader_mod::set_up_q_fields (current_state)
 
subroutine kidreader_mod::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 kidreader_mod::initialise_single_q_field (current_state, q_id, z_size, y_size, x_size)
 
subroutine kidreader_mod::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 kidreader_mod::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 kidreader_mod::initialise_velocity_field (local_grid, field, z_grid, y_grid, x_grid, data)
 Will initialise a velocity field with the loaded data. More...
 
subroutine kidreader_mod::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 kidreader_mod::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 kidreader_mod::check_kinematics_file (ncid)
 Checks that the kinematics file that has been loaded is consistent with what we expect. More...
 
subroutine kidreader_mod::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 kidreader_mod::read_single_variable (ncid, key, data1d, data3d)
 Reads a single variable out of a NetCDF file. More...
 
subroutine kidreader_mod::read_dimensions (ncid, time_dim, z_dim, z_half_dim, x_dim, x_half_dim)
 Reads the dimensions from the NetCDF file. More...
 
subroutine kidreader_mod::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 kidreader_mod::read_specific_global_attribute (ncid, key)
 Will read a specific global NetCDF attribute. More...
 
subroutine kidreader_mod::check_status (status)
 Will check a NetCDF status and write to log_log error any decoded statuses. More...
 

Variables

integer, parameter kidreader_mod::number_q_coords = 100
 Number of Q field value coords that can be specified. More...
 
character(len= *), parameter kidreader_mod::time_key = "time"
 Corresponding NetCDF data time key. More...
 
character(len= *), parameter kidreader_mod::z_key = "z"
 Corresponding NetCDF data z (primal grid) key. More...
 
character(len= *), parameter kidreader_mod::z_half_key = "z_half"
 Corresponding NetCDF data z half (dual grid) key. More...
 
character(len= *), parameter kidreader_mod::x_key = "x"
 Corresponding NetCDF data x (primal grid) key. More...
 
character(len= *), parameter kidreader_mod::x_half_key = "x_half"
 Corresponding NetCDF data x half (primal grid) key. More...
 
character(len= *), parameter kidreader_mod::u_key ="u"
 Corresponding NetCDF data u flow field key. More...
 
character(len= *), parameter kidreader_mod::w_key ="w"
 Corresponding NetCDF data w flow field key. More...
 
logical kidreader_mod::flood_q = .false.
 
logical kidreader_mod::float_q = .false.
 
logical kidreader_mod::clone_to_3d = .false.
 
logical kidreader_mod::rotate_xy =.false.
 
integer kidreader_mod::domain_multiplication =1
 The Q field coordinates configured by the user. More...
 
integer, dimension(number_q_coords), save kidreader_mod::q_coordinates_x
 
integer, dimension(number_q_coords), save kidreader_mod::q_coordinates_y
 
integer, dimension(number_q_coords), save kidreader_mod::q_coordinates_z
 
integer, dimension(number_q_coords), save kidreader_mod::q_coordinates_value
 
character(len=string_length) kidreader_mod::configuration_file
 NetCDF model file to load. More...