| 
    FV3 Bundle
    
   | 
 
Go to the source code of this file.
Data Types | |
| interface | diag_manager_mod::send_data | 
| interface | diag_manager_mod::register_diag_field | 
| interface | diag_manager_mod::send_tile_averaged_data | 
| interface | diag_manager_mod::diag_field_add_attribute | 
Modules | |
| module | diag_manager_mod | 
Functions/Subroutines | |
| integer function | diag_manager_mod::register_diag_field_scalar (module_name, field_name, init_time, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, area, volume, realm) | 
| integer function | diag_manager_mod::register_diag_field_array (module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, area, volume, realm) | 
| integer function, public | diag_manager_mod::register_static_field (module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, DYNAMIC, do_not_log, interp_method, tile_count, area, volume, realm) | 
| integer function, public | diag_manager_mod::get_diag_field_id (module_name, field_name) | 
| logical function | diag_manager_mod::get_related_field (field, rel_field, out_field_id, out_file_id) | 
| subroutine | diag_manager_mod::init_field_cell_measures (output_field, area, volume, err_msg) | 
| subroutine | diag_manager_mod::add_associated_files (file_num, cm_file_num, cm_ind) | 
| Add to the associated files attribute.  More... | |
| logical function | diag_manager_mod::send_data_0d (diag_field_id, field, time, err_msg) | 
| logical function | diag_manager_mod::send_data_1d (diag_field_id, field, time, is_in, mask, rmask, ie_in, weight, err_msg) | 
| logical function | diag_manager_mod::send_data_2d (diag_field_id, field, time, is_in, js_in, mask, rmask, ie_in, je_in, weight, err_msg) | 
| logical function | diag_manager_mod::send_data_2d_r8 (diag_field_id, field, time, is_in, js_in, mask, rmask, ie_in, je_in, weight, err_msg) | 
| logical function | diag_manager_mod::send_data_3d_r8 (diag_field_id, field, time, is_in, js_in, ks_in, mask, rmask, ie_in, je_in, ke_in, weight, err_msg) | 
| logical function | diag_manager_mod::send_data_3d (diag_field_id, field, time, is_in, js_in, ks_in, mask, rmask, ie_in, je_in, ke_in, weight, err_msg) | 
| logical function | diag_manager_mod::send_tile_averaged_data1d (id, field, area, time, mask) | 
| subroutine | diag_manager_mod::average_tiles1d (diag_field_id, x, area, mask, out) | 
| logical function | diag_manager_mod::send_tile_averaged_data2d (id, field, area, time, mask) | 
| logical function | diag_manager_mod::send_tile_averaged_data3d (id, field, area, time, mask) | 
| subroutine | diag_manager_mod::average_tiles (diag_field_id, x, area, mask, out) | 
| integer function | diag_manager_mod::writing_field (out_num, at_diag_end, error_string, time) | 
| subroutine, public | diag_manager_mod::diag_manager_set_time_end (Time_end_in) | 
| subroutine, public | diag_manager_mod::diag_send_complete_instant (time) | 
| The subroutine 'diag_send_complete_instant' allows the user to save diagnostic data on variable intervals (user defined in code logic) to the same file. The argument (time_type) will be written to the time axis correspondingly.  More... | |
| subroutine, public | diag_manager_mod::diag_send_complete (time_step, err_msg) | 
| subroutine, public | diag_manager_mod::diag_manager_end (time) | 
| subroutine | diag_manager_mod::closing_file (file, time) | 
| subroutine, public | diag_manager_mod::diag_manager_init (diag_model_subset, time_init, err_msg) | 
| type(time_type) function, public | diag_manager_mod::get_base_time () | 
| subroutine, public | diag_manager_mod::get_base_date (year, month, day, hour, minute, second) | 
| logical function, public | diag_manager_mod::need_data (diag_field_id, next_model_time) | 
| integer function | diag_manager_mod::init_diurnal_axis (n_samples) | 
| subroutine | diag_manager_mod::diag_field_attribute_init (diag_field_id, name, type, cval, ival, rval) | 
| subroutine | diag_manager_mod::diag_field_add_attribute_scalar_r (diag_field_id, att_name, att_value) | 
| subroutine | diag_manager_mod::diag_field_add_attribute_scalar_i (diag_field_id, att_name, att_value) | 
| subroutine | diag_manager_mod::diag_field_add_attribute_scalar_c (diag_field_id, att_name, att_value) | 
| subroutine | diag_manager_mod::diag_field_add_attribute_r1d (diag_field_id, att_name, att_value) | 
| subroutine | diag_manager_mod::diag_field_add_attribute_i1d (diag_field_id, att_name, att_value) | 
| subroutine, public | diag_manager_mod::diag_field_add_cell_measures (diag_field_id, area, volume) | 
| program | test | 
| diag_table for test 100 (unstructured grid)  More... | |
| subroutine | compute_grid (nlon, nlat, is, ie, js, je, lon_global, lat_global, lonb_global, latb_global, lon, lat, lonb, latb) | 
| If the test_number == 100, then call the unstrcutured grid unit test and skip everything else.  More... | |
| subroutine | unstruct_test (nx, ny, nz, npes, num_domain_tiles_x, num_domain_tiles_y, diag_time, io_tile_factor) | 
Variables | |
| type(time_type) | diag_manager_mod::time_end | 
| subroutine test::compute_grid | ( | integer, intent(in) | nlon, | 
| integer, intent(in) | nlat, | ||
| integer, intent(in) | is, | ||
| integer, intent(in) | ie, | ||
| integer, intent(in) | js, | ||
| integer, intent(in) | je, | ||
| real, dimension(:), intent(out) | lon_global, | ||
| real, dimension(:), intent(out) | lat_global, | ||
| real, dimension(:), intent(out) | lonb_global, | ||
| real, dimension(:), intent(out) | latb_global, | ||
| real, dimension(:), intent(out) | lon, | ||
| real, dimension(:), intent(out) | lat, | ||
| real, dimension(:), intent(out) | lonb, | ||
| real, dimension(:), intent(out) | latb | ||
| ) | 
If the test_number == 100, then call the unstrcutured grid unit test and skip everything else.
Definition at line 5357 of file diag_manager.F90.
| program test | ( | ) | 
diag_table for test 100 (unstructured grid)
test_unstructured_grid_diag_manager 1990 1 1 0 0 0 #output files "unstructured_diag_test", 1, "days", 1, "days", "time", #output variables "UG_unit_test", "unstructured_real_scalar_field_data", "rsf_diag_1", "unstructured_diag_test", "all", .TRUE., "none", 1, "UG_unit_test", "unstructured_real_1D_field_data", "unstructured_real_1D_field_data", "unstructured_diag_test", "all", .TRUE., "none", 1, "UG_unit_test", "unstructured_real_2D_field_data", "unstructured_real_2D_field_data", "unstructured_diag_test", "all", .TRUE., "none", 1,
Definition at line 4567 of file diag_manager.F90.
| subroutine test::unstruct_test | ( | integer(int_kind), intent(in) | nx, | 
| integer(int_kind), intent(in) | ny, | ||
| integer(int_kind), intent(in) | nz, | ||
| integer(int_kind), intent(in) | npes, | ||
| integer(int_kind), intent(in) | num_domain_tiles_x, | ||
| integer(int_kind), intent(in) | num_domain_tiles_y, | ||
| type(time_type), intent(inout) | diag_time, | ||
| integer(int_kind), intent(in) | io_tile_factor | ||
| ) | 
| [in] | nx | The number of grid points in the x-direction. | 
| [in] | ny | The number of grid points in the y-direction. | 
| [in] | nz | The number of grid points in the z-direction. | 
| [in] | npes | The total number of ranks used in this test. | 
| [in] | num_domain_tiles_x | The total number of domain tiles in the x-dimension for the 2D structured domain in this test. | 
| [in] | num_domain_tiles_y | The total number of domain tiles in the y-dimension for the 2D structured domain in this test. | 
| [in,out] | diag_time | Time for diag_manager. | 
| [in] | io_tile_factor | I/O tile factor. See below. | 
Set in namelist is "I/O tile factor". The number of ranks that participate in I/O for a tile is equal to:
num_io_ranks_on_a_tile = num_ranks_on_the_tile / "I/O tile factor".
so for:
io_tile_factor = 1, all of the ranks on a tile participate in the I/O io_tile_factor = 2, 1/2 of the ranks on a tile participate in the I/O io_tile_factor = 3, 1/3 of the ranks on a tile participate in the I/O ... io_tile_factor = 0 is a special case where only one rank participates in the I/O for a tile. io_tile_factor = 1
Latitude and Longitude
Definition at line 5385 of file diag_manager.F90.