FV3 Bundle
diag_manager_mod Module Reference

Data Types

interface  diag_field_add_attribute
 
interface  register_diag_field
 
interface  send_data
 
interface  send_tile_averaged_data
 

Functions/Subroutines

integer function 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 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 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 get_diag_field_id (module_name, field_name)
 
logical function get_related_field (field, rel_field, out_field_id, out_file_id)
 
subroutine init_field_cell_measures (output_field, area, volume, err_msg)
 
subroutine add_associated_files (file_num, cm_file_num, cm_ind)
 Add to the associated files attribute. More...
 
logical function send_data_0d (diag_field_id, field, time, err_msg)
 
logical function send_data_1d (diag_field_id, field, time, is_in, mask, rmask, ie_in, weight, err_msg)
 
logical function send_data_2d (diag_field_id, field, time, is_in, js_in, mask, rmask, ie_in, je_in, weight, err_msg)
 
logical function send_data_2d_r8 (diag_field_id, field, time, is_in, js_in, mask, rmask, ie_in, je_in, weight, err_msg)
 
logical function 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 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 send_tile_averaged_data1d (id, field, area, time, mask)
 
subroutine average_tiles1d (diag_field_id, x, area, mask, out)
 
logical function send_tile_averaged_data2d (id, field, area, time, mask)
 
logical function send_tile_averaged_data3d (id, field, area, time, mask)
 
subroutine average_tiles (diag_field_id, x, area, mask, out)
 
integer function writing_field (out_num, at_diag_end, error_string, time)
 
subroutine, public diag_manager_set_time_end (Time_end_in)
 
subroutine, public 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_send_complete (time_step, err_msg)
 
subroutine, public diag_manager_end (time)
 
subroutine closing_file (file, time)
 
subroutine, public diag_manager_init (diag_model_subset, time_init, err_msg)
 
type(time_type) function, public get_base_time ()
 
subroutine, public get_base_date (year, month, day, hour, minute, second)
 
logical function, public need_data (diag_field_id, next_model_time)
 
integer function init_diurnal_axis (n_samples)
 
subroutine diag_field_attribute_init (diag_field_id, name, type, cval, ival, rval)
 
subroutine diag_field_add_attribute_scalar_r (diag_field_id, att_name, att_value)
 
subroutine diag_field_add_attribute_scalar_i (diag_field_id, att_name, att_value)
 
subroutine diag_field_add_attribute_scalar_c (diag_field_id, att_name, att_value)
 
subroutine diag_field_add_attribute_r1d (diag_field_id, att_name, att_value)
 
subroutine diag_field_add_attribute_i1d (diag_field_id, att_name, att_value)
 
subroutine, public diag_field_add_cell_measures (diag_field_id, area, volume)
 

Variables

type(time_typetime_end
 

Function/Subroutine Documentation

◆ add_associated_files()

subroutine diag_manager_mod::add_associated_files ( integer, intent(in)  file_num,
integer, intent(in)  cm_file_num,
integer, intent(in)  cm_ind 
)
private

Add to the associated files attribute.

Exceptions
FATAL,Length of asso_file_name is not long enough to hold the associated file name.The length of character array asso_file_name is not long enough to hold the full file name of the associated_file. Please contact the developer to increase the length of the variable.
Parameters
[in]file_numFile number that needs the associated_files attribute
[in]cm_file_numfile number that contains the associated field
[in]cm_indindex of the output_field in the associated file

Definition at line 1362 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ average_tiles()

subroutine diag_manager_mod::average_tiles ( integer, intent(in)  diag_field_id,
real, dimension(:,:,:), intent(in)  x,
real, dimension(:,:,:), intent(in)  area,
logical, dimension(:,:,:), intent(in)  mask,
real, dimension(:,:), intent(out)  out 
)
private

Definition at line 3336 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ average_tiles1d()

subroutine diag_manager_mod::average_tiles1d ( integer, intent(in)  diag_field_id,
real, dimension(:,:), intent(in)  x,
real, dimension(:,:), intent(in)  area,
logical, dimension(:,:), intent(in)  mask,
real, dimension(:), intent(out)  out 
)
private

Definition at line 3214 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ closing_file()

subroutine diag_manager_mod::closing_file ( integer, intent(in)  file,
type(time_type), intent(in)  time 
)
private

Definition at line 3669 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ diag_field_add_attribute_i1d()

subroutine diag_manager_mod::diag_field_add_attribute_i1d ( integer, intent(in)  diag_field_id,
character(len=*), intent(in)  att_name,
integer, dimension(:), intent(in)  att_value 
)
private

Definition at line 4296 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ diag_field_add_attribute_r1d()

subroutine diag_manager_mod::diag_field_add_attribute_r1d ( integer, intent(in)  diag_field_id,
character(len=*), intent(in)  att_name,
real, dimension(:), intent(in)  att_value 
)
private

Definition at line 4280 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ diag_field_add_attribute_scalar_c()

subroutine diag_manager_mod::diag_field_add_attribute_scalar_c ( integer, intent(in)  diag_field_id,
character(len=*), intent(in)  att_name,
character(len=*), intent(in)  att_value 
)
private

Definition at line 4267 of file diag_manager.F90.

Here is the call graph for this function:

◆ diag_field_add_attribute_scalar_i()

subroutine diag_manager_mod::diag_field_add_attribute_scalar_i ( integer, intent(in)  diag_field_id,
character(len=*), intent(in)  att_name,
integer, intent(in)  att_value 
)
private

Definition at line 4254 of file diag_manager.F90.

Here is the call graph for this function:

◆ diag_field_add_attribute_scalar_r()

subroutine diag_manager_mod::diag_field_add_attribute_scalar_r ( integer, intent(in)  diag_field_id,
character(len=*), intent(in)  att_name,
real, intent(in)  att_value 
)
private

Definition at line 4241 of file diag_manager.F90.

Here is the call graph for this function:

◆ diag_field_add_cell_measures()

subroutine, public diag_manager_mod::diag_field_add_cell_measures ( integer, intent(in)  diag_field_id,
integer, intent(in), optional  area,
integer, intent(in), optional  volume 
)

Definition at line 4320 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ diag_field_attribute_init()

subroutine diag_manager_mod::diag_field_attribute_init ( integer, intent(in)  diag_field_id,
character(len=*), intent(in)  name,
integer, intent(in)  type,
character(len=*), intent(in), optional  cval,
integer, dimension(:), intent(in), optional  ival,
real, dimension(:), intent(in), optional  rval 
)
private
Parameters
[in]diag_field_idinput field ID, obtained from diag_manager_mod::register_diag_field.
[in]nameName of the attribute
[in]typeNetCDF type (NF90_FLOAT, NF90_INT, NF90_CHAR)
[in]cvalCharacter string attribute value
[in]ivalInteger attribute value(s)
[in]rvalReal attribute value(s)

Definition at line 4077 of file diag_manager.F90.

Here is the caller graph for this function:

◆ diag_manager_end()

subroutine, public diag_manager_mod::diag_manager_end ( type(time_type), intent(in)  time)

Definition at line 3644 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ diag_manager_init()

subroutine, public diag_manager_mod::diag_manager_init ( integer, intent(in), optional  diag_model_subset,
integer, dimension(6), intent(in), optional  time_init,
character(len=*), intent(out), optional  err_msg 
)

Definition at line 3760 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ diag_manager_set_time_end()

subroutine, public diag_manager_mod::diag_manager_set_time_end ( type (time_type), intent(in)  Time_end_in)

Definition at line 3531 of file diag_manager.F90.

Here is the caller graph for this function:

◆ diag_send_complete()

subroutine, public diag_manager_mod::diag_send_complete ( type (time_type), intent(in)  time_step,
character(len=*), intent(out), optional  err_msg 
)

Definition at line 3569 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ diag_send_complete_instant()

subroutine, public diag_manager_mod::diag_send_complete_instant ( type (time_type), intent(in)  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.

The user is responsible for any averaging of accumulated data as this routine is not designed for instantaneous values. This routine works only for send_data calls within OpenMP regions as they are buffered until the complete signal is given.

Definition at line 3547 of file diag_manager.F90.

Here is the call graph for this function:

◆ get_base_date()

subroutine, public diag_manager_mod::get_base_date ( integer, intent(out)  year,
integer, intent(out)  month,
integer, intent(out)  day,
integer, intent(out)  hour,
integer, intent(out)  minute,
integer, intent(out)  second 
)

Definition at line 3970 of file diag_manager.F90.

Here is the caller graph for this function:

◆ get_base_time()

type(time_type) function, public diag_manager_mod::get_base_time ( )

Definition at line 3944 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_diag_field_id()

integer function, public diag_manager_mod::get_diag_field_id ( character(len=*), intent(in)  module_name,
character(len=*), intent(in)  field_name 
)

Definition at line 1190 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_related_field()

logical function diag_manager_mod::get_related_field ( integer, intent(in)  field,
type(output_field_type), intent(in)  rel_field,
integer, intent(out)  out_field_id,
integer, intent(out)  out_file_id 
)
private

Definition at line 1213 of file diag_manager.F90.

Here is the caller graph for this function:

◆ init_diurnal_axis()

integer function diag_manager_mod::init_diurnal_axis ( integer, intent(in)  n_samples)
private

Definition at line 4038 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_field_cell_measures()

subroutine diag_manager_mod::init_field_cell_measures ( type(output_field_type), intent(inout)  output_field,
integer, intent(in), optional  area,
integer, intent(in), optional  volume,
character(len=*), intent(out), optional  err_msg 
)
private

Definition at line 1286 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ need_data()

logical function, public diag_manager_mod::need_data ( integer, intent(in)  diag_field_id,
type(time_type), intent(in)  next_model_time 
)

Definition at line 4002 of file diag_manager.F90.

◆ register_diag_field_array()

integer function diag_manager_mod::register_diag_field_array ( character(len=*), intent(in)  module_name,
character(len=*), intent(in)  field_name,
integer, dimension(:), intent(in)  axes,
type(time_type), intent(in)  init_time,
character(len=*), intent(in), optional  long_name,
character(len=*), intent(in), optional  units,
real, intent(in), optional  missing_value,
real, dimension(2), intent(in), optional  range,
logical, intent(in), optional  mask_variant,
character(len=*), intent(in), optional  standard_name,
logical, intent(in), optional  verbose,
logical, intent(in), optional  do_not_log,
character(len=*), intent(out), optional  err_msg,
character(len=*), intent(in), optional  interp_method,
integer, intent(in), optional  tile_count,
integer, intent(in), optional  area,
integer, intent(in), optional  volume,
character(len=*), intent(in), optional  realm 
)
private
Parameters
[in]realmString to set as the value to the modeling_realm attribute

Definition at line 539 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ register_diag_field_scalar()

integer function diag_manager_mod::register_diag_field_scalar ( character(len=*), intent(in)  module_name,
character(len=*), intent(in)  field_name,
type(time_type), intent(in), optional  init_time,
character(len=*), intent(in), optional  long_name,
character(len=*), intent(in), optional  units,
real, intent(in), optional  missing_value,
real, dimension(2), intent(in), optional  range,
character(len=*), intent(in), optional  standard_name,
logical, intent(in), optional  do_not_log,
character(len=*), intent(out), optional  err_msg,
integer, intent(in), optional  area,
integer, intent(in), optional  volume,
character(len=*), intent(in), optional  realm 
)
private
Parameters
[in]realmString to set as the value to the modeling_realm attribute

Definition at line 490 of file diag_manager.F90.

Here is the call graph for this function:

◆ register_static_field()

integer function, public diag_manager_mod::register_static_field ( character(len=*), intent(in)  module_name,
character(len=*), intent(in)  field_name,
integer, dimension(:), intent(in)  axes,
character(len=*), intent(in), optional  long_name,
character(len=*), intent(in), optional  units,
real, intent(in), optional  missing_value,
real, dimension(2), intent(in), optional  range,
logical, intent(in), optional  mask_variant,
character(len=*), intent(in), optional  standard_name,
logical, intent(in), optional  DYNAMIC,
logical, intent(in), optional  do_not_log,
character(len=*), intent(in), optional  interp_method,
integer, intent(in), optional  tile_count,
integer, intent(in), optional  area,
integer, intent(in), optional  volume,
character(len=*), intent(in), optional  realm 
)
Parameters
[in]realmString to set as the value to the modeling_realm attribute

Definition at line 729 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ send_data_0d()

logical function diag_manager_mod::send_data_0d ( integer, intent(in)  diag_field_id,
real, intent(in)  field,
type(time_type), intent(in), optional  time,
character(len=*), intent(out), optional  err_msg 
)
private

Definition at line 1423 of file diag_manager.F90.

Here is the call graph for this function:

◆ send_data_1d()

logical function diag_manager_mod::send_data_1d ( integer, intent(in)  diag_field_id,
real, dimension(:), intent(in)  field,
type (time_type), intent(in), optional  time,
integer, intent(in), optional  is_in,
logical, dimension(:), intent(in), optional  mask,
real, dimension(:), intent(in), optional  rmask,
integer, intent(in), optional  ie_in,
real, intent(in), optional  weight,
character(len=*), intent(out), optional  err_msg 
)
private

Definition at line 1456 of file diag_manager.F90.

Here is the call graph for this function:

◆ send_data_2d()

logical function diag_manager_mod::send_data_2d ( integer, intent(in)  diag_field_id,
real, dimension(:,:), intent(in)  field,
type (time_type), intent(in), optional  time,
integer, intent(in), optional  is_in,
integer, intent(in), optional  js_in,
logical, dimension(:,:), intent(in), optional  mask,
real, dimension(:,:), intent(in), optional  rmask,
integer, intent(in), optional  ie_in,
integer, intent(in), optional  je_in,
real, intent(in), optional  weight,
character(len=*), intent(out), optional  err_msg 
)
private

Definition at line 1520 of file diag_manager.F90.

Here is the call graph for this function:

◆ send_data_2d_r8()

logical function diag_manager_mod::send_data_2d_r8 ( integer, intent(in)  diag_field_id,
real(kind=8), dimension(:,:), intent(in)  field,
type (time_type), intent(in), optional  time,
integer, intent(in), optional  is_in,
integer, intent(in), optional  js_in,
logical, dimension(:,:), intent(in), optional  mask,
real, dimension(:,:), intent(in), optional  rmask,
integer, intent(in), optional  ie_in,
integer, intent(in), optional  je_in,
real, intent(in), optional  weight,
character(len=*), intent(out), optional  err_msg 
)
private

Definition at line 1563 of file diag_manager.F90.

Here is the call graph for this function:

◆ send_data_3d()

logical function diag_manager_mod::send_data_3d ( integer, intent(in)  diag_field_id,
real, dimension(:,:,:), intent(in)  field,
type (time_type), intent(in), optional  time,
integer, intent(in), optional  is_in,
integer, intent(in), optional  js_in,
integer, intent(in), optional  ks_in,
logical, dimension(:,:,:), intent(in), optional  mask,
real, dimension(:,:,:), intent(in), optional  rmask,
integer, intent(in), optional  ie_in,
integer, intent(in), optional  je_in,
integer, intent(in), optional  ke_in,
real, intent(in), optional  weight,
character(len=*), intent(out), optional  err_msg 
)
private

Definition at line 1661 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ send_data_3d_r8()

logical function diag_manager_mod::send_data_3d_r8 ( integer, intent(in)  diag_field_id,
real(kind=8), dimension(:,:,:), intent(in)  field,
type (time_type), intent(in), optional  time,
integer, intent(in), optional  is_in,
integer, intent(in), optional  js_in,
integer, intent(in), optional  ks_in,
logical, dimension(:,:,:), intent(in), optional  mask,
real, dimension(:,:,:), intent(in), optional  rmask,
integer, intent(in), optional  ie_in,
integer, intent(in), optional  je_in,
integer, intent(in), optional  ke_in,
real, intent(in), optional  weight,
character(len=*), intent(out), optional  err_msg 
)
private

Definition at line 1605 of file diag_manager.F90.

Here is the call graph for this function:

◆ send_tile_averaged_data1d()

logical function diag_manager_mod::send_tile_averaged_data1d ( integer, intent(in)  id,
real, dimension(:,:), intent(in)  field,
real, dimension (:,:), intent(in)  area,
type(time_type), intent(in)  time,
logical, dimension (:,:), intent(in), optional  mask 
)
private

Definition at line 3182 of file diag_manager.F90.

Here is the call graph for this function:

◆ send_tile_averaged_data2d()

logical function diag_manager_mod::send_tile_averaged_data2d ( integer, intent(in)  id,
real, dimension(:,:,:), intent(in)  field,
real, dimension (:,:,:), intent(in)  area,
type(time_type), intent(in)  time,
logical, dimension (:,:,:), intent(in), optional  mask 
)
private

Definition at line 3267 of file diag_manager.F90.

Here is the call graph for this function:

◆ send_tile_averaged_data3d()

logical function diag_manager_mod::send_tile_averaged_data3d ( integer, intent(in)  id,
real, dimension(:,:,:,:), intent(in)  field,
real, dimension (:,:,:), intent(in)  area,
type(time_type), intent(in)  time,
logical, dimension(:,:,:), intent(in), optional  mask 
)
private

Definition at line 3293 of file diag_manager.F90.

Here is the call graph for this function:

◆ writing_field()

integer function diag_manager_mod::writing_field ( integer, intent(in)  out_num,
logical, intent(in)  at_diag_end,
character(len=*), intent(out)  error_string,
type(time_type), intent(in)  time 
)
private

Definition at line 3383 of file diag_manager.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ time_end

type(time_type) diag_manager_mod::time_end
private

Definition at line 270 of file diag_manager.F90.