FMS 2025.01-dev
Flexible Modeling System
Loading...
Searching...
No Matches
fms_diag_outfield_mod

fms_diag_outfield_mod defines data types and utility or auxiliary routines useful in updating the output buffer. More...

Data Types

type  fmsdiagoutfield_type
 Class fmsDiagOutfield_type (along with class ms_diag_outfield_index_type ) contain information used in updating the output buffers by the diag_manager send_data routines. In some sense they can be seen as encapsulating related information in a convenient way (e.g. to pass to functions and for do loop controls.) More...
 
type  fmsdiagoutfieldindex_type
 Class fms_diag_outfield_index_type which (along with class fmsDiagOutfield_type) encapsulate related information used in updating the output buffers by the diag_manager send_data routines. This class in particular focuses on do loop index controls or settings. Note that the index names in this class should be indentical to the names used in the diag_manager send_data functions and in the "math" buffer update functions. The purpose of this class is also to allow for a smaller call function signature for the math/buffer update functions. More...
 

Functions/Subroutines

procedure get_f1 (this)
 Gets f1.
 
pure integer function get_f1 (this)
 Gets f1.
 
procedure get_f2 (this)
 Gets f2.
 
pure integer function get_f2 (this)
 Gets f2.
 
procedure get_f3 (this)
 Gets f3.
 
pure integer function get_f3 (this)
 Gets f3.
 
procedure get_f4 (this)
 Gets f4.
 
pure integer function get_f4 (this)
 Gets f4.
 
procedure get_field_name (this)
 Gets field_name.
 
pure character(len=:) function, allocatable get_field_name (this)
 Gets field_name.
 
procedure get_hi (this)
 Gets hi.
 
pure integer function get_hi (this)
 Gets hi.
 
procedure get_hj (this)
 Gets hj.
 
pure integer function get_hj (this)
 Gets hj.
 
procedure get_ie (this)
 Gets ie.
 
pure integer function get_ie (this)
 Gets ie.
 
procedure get_is (this)
 Gets is.
 
pure integer function get_is (this)
 Gets is.
 
procedure get_je (this)
 Gets je.
 
pure integer function get_je (this)
 Gets je.
 
procedure get_js (this)
 Gets js.
 
pure integer function get_js (this)
 Gets js.
 
procedure get_ke (this)
 Gets ke.
 
pure integer function get_ke (this)
 Gets ke.
 
procedure get_ks (this)
 Gets ks.
 
pure integer function get_ks (this)
 Gets ks.
 
procedure get_mask_present (this)
 Gets mask_present.
 
pure logical function get_mask_present (this)
 Gets mask_present.
 
procedure get_mask_variant (this)
 Gets mask_variant.
 
pure logical function get_mask_variant (this)
 Gets mask_variant.
 
procedure get_missvalue_present (this)
 Gets missvalue_present.
 
pure logical function get_missvalue_present (this)
 Gets missvalue_present.
 
procedure get_module_name (this)
 Gets module_name.
 
pure character(len=:) function, allocatable get_module_name (this)
 Gets module_name.
 
procedure get_need_compute (this)
 Gets need_compute.
 
pure logical function get_need_compute (this)
 Gets need_compute.
 
integer function get_output_field_time_reduction (ofield)
 Get the time reduction from a legacy output field.
 
procedure get_output_file (this)
 Gets output_file.
 
pure character(len=:) function, allocatable get_output_file (this)
 Gets output_file.
 
procedure get_output_name (this)
 Gets output_name.
 
pure character(len=:) function, allocatable get_output_name (this)
 Gets output_name.
 
procedure get_phys_window (this)
 Gets phys_window.
 
pure logical function get_phys_window (this)
 Gets phys_window.
 
procedure get_pow_value (this)
 Gets pow_value.
 
pure integer function get_pow_value (this)
 Gets pow_value.
 
procedure get_reduced_k_range (this)
 Gets reduced_k_range.
 
pure logical function get_reduced_k_range (this)
 Gets reduced_k_range.
 
procedure get_time_reduction (this)
 Gets the time_reduction object.
 
type(fmsdiagtimereduction_type) function, allocatable get_time_reduction (this)
 Gets the time_reduction object.
 
procedure, public initialize (this, input_field, output_field, mask_present, freq)
 Update the fmsDiagOutfield_type instance with those fields used in the legacy diag manager. Note that this is initializing from the legacy structures. Note that output_frequency came from file_type;.
 
procedure initialize (this, is, js, ks, ie, je, ke, hi, hj, f1, f2, f3, f4)
 #brief initialize all the members of the class.
 
procedure initialize_for_ut (this, module_name, field_name, output_name, power_val, phys_window, need_compute, mask_variant, reduced_k_range, num_elems, time_reduction_type, output_freq)
 Initialized an fmsDiagOutfield_type as needed for unit tests.
 
subroutine initialize_for_ut (this, module_name, field_name, output_name, power_val, phys_window, need_compute, mask_variant, reduced_k_range, num_elems, time_reduction_type, output_freq)
 Initialized an fmsDiagOutfield_type as needed for unit tests.
 
subroutine initialize_outfield_imp (this, input_field, output_field, mask_present, freq)
 Update the fmsDiagOutfield_type instance with those fields used in the legacy diag manager. Note that this is initializing from the legacy structures. Note that output_frequency came from file_type;.
 
subroutine initialize_outfield_index_type (this, is, js, ks, ie, je, ke, hi, hj, f1, f2, f3, f4)
 #brief initialize all the members of the class.
 
subroutine reset_time_reduction_ut (this, source)
 Reset the time reduction member field. Intended for use in unit tests only.
 

Variables

integer f1
 
integer f2
 Indecies used specify 1st dim bounds of field, mask and rmask.
 
integer f3
 
integer f4
 Indecies used specify 2st dim bounds of field, mask and rmask.
 
character(len=:), allocatable field_name
 Output field name.
 
integer hi
 halo size in x direction. Same name as in send_data
 
integer hj
 halo size in y direction. Same
 
integer ie
 
integer is
 
integer je
 
integer js
 
integer ke
 End indecies in each spatial dim of the field_data; and may be user provided in send_data.
 
integer ks
 Start indecies in each spatial dim of the field_data; and may be user provided in send_data.
 
logical mask_present
 True iff mask argument is present in user-facing send function call. Note this field exists since the actual mask argument in the send function call may be downstream replaced by a null pointer which is considered present.
 
logical mask_variant
 
logical missvalue_present
 
character(len=:), allocatable module_name
 Module name.
 
logical need_compute
 True iff is local_output and current PE take part in send_data.
 
character(len=:), allocatable output_file
 File where field should be written.
 
character(len=:), allocatable output_name
 Output name written to file.
 
logical phys_window
 TODO: Rename? OMP subsetted data, See output_fields.
 
integer pow_value
 Power value for rms or pow(x) calculations.
 
logical reduced_k_range
 If true, the local start and end indecies are used in k (i.e. 3rd) dim.
 
type(fmsdiagtimereduction_typetime_reduction
 Instance of the fmsDiagTimeTeduction_type.
 

Detailed Description

fms_diag_outfield_mod defines data types and utility or auxiliary routines useful in updating the output buffer.

Author
Miguel Zuniga

fms_diag_outfield_mod The output buffer updating routines are passed configuration and control data with types defined in this module; and some utility functions called by the updating routines are defined here.


Data Type Documentation

◆ fms_diag_outfield_mod::fmsdiagoutfield_type

type fms_diag_outfield_mod::fmsdiagoutfield_type

Class fmsDiagOutfield_type (along with class ms_diag_outfield_index_type ) contain information used in updating the output buffers by the diag_manager send_data routines. In some sense they can be seen as encapsulating related information in a convenient way (e.g. to pass to functions and for do loop controls.)

Class fmsDiagOutfield_type also contains a significant subset of the fields and routines of of the legacy class output_field_type TODO: (MDM) This class will need further development for the modern_diag effort. For its development, consider the legacy diag_util::init_output_field already in place. Fields added so are used the the field buffer math/dmUpdate functions. TODO (MDM) : Should the MDM have pow_value be type REAL?

Definition at line 64 of file fms_diag_outfield.F90.

Collaboration diagram for fmsdiagoutfield_type:
[legend]

Public Member Functions

procedure get_field_name (this)
 Gets field_name.
 
procedure get_mask_present (this)
 Gets mask_present.
 
procedure get_mask_variant (this)
 Gets mask_variant.
 
procedure get_missvalue_present (this)
 Gets missvalue_present.
 
procedure get_module_name (this)
 Gets module_name.
 
procedure get_need_compute (this)
 Gets need_compute.
 
procedure get_output_file (this)
 Gets output_file.
 
procedure get_output_name (this)
 Gets output_name.
 
procedure get_phys_window (this)
 Gets phys_window.
 
procedure get_pow_value (this)
 Gets pow_value.
 
procedure get_reduced_k_range (this)
 Gets reduced_k_range.
 
procedure get_time_reduction (this)
 Gets the time_reduction object.
 
procedure, public initialize (this, input_field, output_field, mask_present, freq)
 Update the fmsDiagOutfield_type instance with those fields used in the legacy diag manager. Note that this is initializing from the legacy structures. Note that output_frequency came from file_type;.
 
procedure initialize_for_ut (this, module_name, field_name, output_name, power_val, phys_window, need_compute, mask_variant, reduced_k_range, num_elems, time_reduction_type, output_freq)
 Initialized an fmsDiagOutfield_type as needed for unit tests.
 

Public Attributes

character(len=:), allocatable field_name
 Output field name.
 
logical mask_present
 True iff mask argument is present in user-facing send function call. Note this field exists since the actual mask argument in the send function call may be downstream replaced by a null pointer which is considered present.
 
logical mask_variant
 
logical missvalue_present
 
logical need_compute
 True iff is local_output and current PE take part in send_data.
 
character(len=:), allocatable output_file
 File where field should be written.
 
character(len=:), allocatable output_name
 Output name written to file.
 
logical phys_window
 TODO: Rename? OMP subsetted data, See output_fields.
 
integer pow_value
 Power value for rms or pow(x) calculations.
 
logical reduced_k_range
 If true, the local start and end indecies are used in k (i.e. 3rd) dim.
 
type(fmsdiagtimereduction_typetime_reduction
 Instance of the fmsDiagTimeTeduction_type.
 

Private Attributes

character(len=:), allocatable module_name
 Module name.
 

◆ fms_diag_outfield_mod::fmsdiagoutfieldindex_type

type fms_diag_outfield_mod::fmsdiagoutfieldindex_type

Class fms_diag_outfield_index_type which (along with class fmsDiagOutfield_type) encapsulate related information used in updating the output buffers by the diag_manager send_data routines. This class in particular focuses on do loop index controls or settings. Note that the index names in this class should be indentical to the names used in the diag_manager send_data functions and in the "math" buffer update functions. The purpose of this class is also to allow for a smaller call function signature for the math/buffer update functions.

Definition at line 118 of file fms_diag_outfield.F90.

Collaboration diagram for fmsdiagoutfieldindex_type:
[legend]

Public Member Functions

procedure get_f1 (this)
 Gets f1.
 
procedure get_f2 (this)
 Gets f2.
 
procedure get_f3 (this)
 Gets f3.
 
procedure get_f4 (this)
 Gets f4.
 
procedure get_hi (this)
 Gets hi.
 
procedure get_hj (this)
 Gets hj.
 
procedure get_ie (this)
 Gets ie.
 
procedure get_is (this)
 Gets is.
 
procedure get_je (this)
 Gets je.
 
procedure get_js (this)
 Gets js.
 
procedure get_ke (this)
 Gets ke.
 
procedure get_ks (this)
 Gets ks.
 
procedure initialize (this, is, js, ks, ie, je, ke, hi, hj, f1, f2, f3, f4)
 #brief initialize all the members of the class.
 

Public Attributes

integer f2
 Indecies used specify 1st dim bounds of field, mask and rmask.
 
integer f3
 
integer f4
 Indecies used specify 2st dim bounds of field, mask and rmask.
 
integer hi
 halo size in x direction. Same name as in send_data
 
integer hj
 halo size in y direction. Same
 
integer ie
 
integer is
 
integer je
 
integer js
 
integer ke
 End indecies in each spatial dim of the field_data; and may be user provided in send_data.
 
integer ks
 Start indecies in each spatial dim of the field_data; and may be user provided in send_data.
 

Private Attributes

integer f1
 

Function/Subroutine Documentation

◆ get_f1() [1/2]

procedure get_f1 ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets f1.

Returns
copy of integer member f1
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 130 of file fms_diag_outfield.F90.

◆ get_f1() [2/2]

pure integer function get_f1 ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets f1.

Returns
copy of integer member f1
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 242 of file fms_diag_outfield.F90.

◆ get_f2() [1/2]

procedure get_f2 ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets f2.

Returns
copy of integer member f2
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 131 of file fms_diag_outfield.F90.

◆ get_f2() [2/2]

pure integer function get_f2 ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets f2.

Returns
copy of integer member f2
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 249 of file fms_diag_outfield.F90.

◆ get_f3() [1/2]

procedure get_f3 ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets f3.

Returns
copy of integer member f3
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 132 of file fms_diag_outfield.F90.

◆ get_f3() [2/2]

pure integer function get_f3 ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets f3.

Returns
copy of integer member f3
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 256 of file fms_diag_outfield.F90.

◆ get_f4() [1/2]

procedure get_f4 ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets f4.

Returns
copy of integer member f4
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 133 of file fms_diag_outfield.F90.

◆ get_f4() [2/2]

pure integer function get_f4 ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets f4.

Returns
copy of integer member f4
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 263 of file fms_diag_outfield.F90.

◆ get_field_name() [1/2]

procedure get_field_name ( class (fmsdiagoutfield_type), intent(in)  this)

Gets field_name.

Returns
copy of the field_name character array
Parameters
[in]thisdiag object

Definition at line 94 of file fms_diag_outfield.F90.

◆ get_field_name() [2/2]

pure character(len=:) function, allocatable get_field_name ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets field_name.

Returns
copy of the field_name character array
Parameters
[in]thisdiag object

Definition at line 157 of file fms_diag_outfield.F90.

◆ get_hi() [1/2]

procedure get_hi ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets hi.

Returns
copy of integer member hi
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 140 of file fms_diag_outfield.F90.

◆ get_hi() [2/2]

pure integer function get_hi ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets hi.

Returns
copy of integer member hi
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 312 of file fms_diag_outfield.F90.

◆ get_hj() [1/2]

procedure get_hj ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets hj.

Returns
copy of integer member hj
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 141 of file fms_diag_outfield.F90.

◆ get_hj() [2/2]

pure integer function get_hj ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets hj.

Returns
copy of integer member hj
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 319 of file fms_diag_outfield.F90.

◆ get_ie() [1/2]

procedure get_ie ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets ie.

Returns
copy of integer member ie
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 137 of file fms_diag_outfield.F90.

◆ get_ie() [2/2]

pure integer function get_ie ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets ie.

Returns
copy of integer member ie
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 291 of file fms_diag_outfield.F90.

◆ get_is() [1/2]

procedure get_is ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets is.

Returns
copy of integer member is
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 134 of file fms_diag_outfield.F90.

◆ get_is() [2/2]

pure integer function get_is ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets is.

Returns
copy of integer member is
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 270 of file fms_diag_outfield.F90.

◆ get_je() [1/2]

procedure get_je ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets je.

Returns
copy of integer member je
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 138 of file fms_diag_outfield.F90.

◆ get_je() [2/2]

pure integer function get_je ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets je.

Returns
copy of integer member je
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 298 of file fms_diag_outfield.F90.

◆ get_js() [1/2]

procedure get_js ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets js.

Returns
copy of integer member js
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 135 of file fms_diag_outfield.F90.

◆ get_js() [2/2]

pure integer function get_js ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets js.

Returns
copy of integer member js
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 277 of file fms_diag_outfield.F90.

◆ get_ke() [1/2]

procedure get_ke ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets ke.

Returns
copy of integer member ke
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 139 of file fms_diag_outfield.F90.

◆ get_ke() [2/2]

pure integer function get_ke ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets ke.

Returns
copy of integer member ke
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 305 of file fms_diag_outfield.F90.

◆ get_ks() [1/2]

procedure get_ks ( class (fmsdiagoutfieldindex_type), intent(in)  this)

Gets ks.

Returns
copy of integer member ks
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 136 of file fms_diag_outfield.F90.

◆ get_ks() [2/2]

pure integer function get_ks ( class (fmsdiagoutfieldindex_type), intent(in)  this)
private

Gets ks.

Returns
copy of integer member ks
Parameters
[in]thisThe fmsDiagOutfieldIndex_type object

Definition at line 284 of file fms_diag_outfield.F90.

◆ get_mask_present() [1/2]

procedure get_mask_present ( class (fmsdiagoutfield_type), intent(in)  this)

Gets mask_present.

Returns
copy of integer member mask_present
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 103 of file fms_diag_outfield.F90.

◆ get_mask_present() [2/2]

pure logical function get_mask_present ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets mask_present.

Returns
copy of integer member mask_present
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 226 of file fms_diag_outfield.F90.

◆ get_mask_variant() [1/2]

procedure get_mask_variant ( class (fmsdiagoutfield_type), intent(in)  this)

Gets mask_variant.

Returns
copy of integer member mask_variant
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 102 of file fms_diag_outfield.F90.

◆ get_mask_variant() [2/2]

pure logical function get_mask_variant ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets mask_variant.

Returns
copy of integer member mask_variant
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 219 of file fms_diag_outfield.F90.

◆ get_missvalue_present() [1/2]

procedure get_missvalue_present ( class (fmsdiagoutfield_type), intent(in)  this)

Gets missvalue_present.

Returns
copy of integer member missvalue_present
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 101 of file fms_diag_outfield.F90.

◆ get_missvalue_present() [2/2]

pure logical function get_missvalue_present ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets missvalue_present.

Returns
copy of integer member missvalue_present
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 212 of file fms_diag_outfield.F90.

◆ get_module_name() [1/2]

procedure get_module_name ( class (fmsdiagoutfield_type), intent(in)  this)

Gets module_name.

Returns
copy of the module_name character array
Parameters
[in]thisdiag object

Definition at line 93 of file fms_diag_outfield.F90.

◆ get_module_name() [2/2]

pure character(len=:) function, allocatable get_module_name ( class (fmsdiagoutfield_type), intent(in)  this)

Gets module_name.

Returns
copy of the module_name character array
Parameters
[in]thisdiag object

Definition at line 148 of file fms_diag_outfield.F90.

◆ get_need_compute() [1/2]

procedure get_need_compute ( class (fmsdiagoutfield_type), intent(in)  this)

Gets need_compute.

Returns
copy of integer member need_compute
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 99 of file fms_diag_outfield.F90.

◆ get_need_compute() [2/2]

pure logical function get_need_compute ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets need_compute.

Returns
copy of integer member need_compute
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 198 of file fms_diag_outfield.F90.

◆ get_output_field_time_reduction()

integer function get_output_field_time_reduction ( type(output_field_type), intent(in)  ofield)
private

Get the time reduction from a legacy output field.

Parameters
[in]ofieldAn instance of the output_field_type
Returns
The result integer which is the time reduction.

Definition at line 423 of file fms_diag_outfield.F90.

◆ get_output_file() [1/2]

procedure get_output_file ( class (fmsdiagoutfield_type), intent(in)  this)

Gets output_file.

Returns
copy of the output_file character array
Parameters
[in]thisdiag object

Definition at line 96 of file fms_diag_outfield.F90.

◆ get_output_file() [2/2]

pure character(len=:) function, allocatable get_output_file ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets output_file.

Returns
copy of the output_file character array
Parameters
[in]thisdiag object

Definition at line 175 of file fms_diag_outfield.F90.

◆ get_output_name() [1/2]

procedure get_output_name ( class (fmsdiagoutfield_type), intent(in)  this)

Gets output_name.

Returns
copy of the output_name character array
Parameters
[in]thisdiag object

Definition at line 95 of file fms_diag_outfield.F90.

◆ get_output_name() [2/2]

pure character(len=:) function, allocatable get_output_name ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets output_name.

Returns
copy of the output_name character array
Parameters
[in]thisdiag object

Definition at line 166 of file fms_diag_outfield.F90.

◆ get_phys_window() [1/2]

procedure get_phys_window ( class (fmsdiagoutfield_type), intent(in)  this)

Gets phys_window.

Returns
copy of integer member phys_window
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 98 of file fms_diag_outfield.F90.

◆ get_phys_window() [2/2]

pure logical function get_phys_window ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets phys_window.

Returns
copy of integer member phys_window
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 191 of file fms_diag_outfield.F90.

◆ get_pow_value() [1/2]

procedure get_pow_value ( class (fmsdiagoutfield_type), intent(in)  this)

Gets pow_value.

Returns
copy of integer member pow_value
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 97 of file fms_diag_outfield.F90.

◆ get_pow_value() [2/2]

pure integer function get_pow_value ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets pow_value.

Returns
copy of integer member pow_value
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 184 of file fms_diag_outfield.F90.

◆ get_reduced_k_range() [1/2]

procedure get_reduced_k_range ( class (fmsdiagoutfield_type), intent(in)  this)

Gets reduced_k_range.

Returns
copy of integer member reduced_k_range
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 100 of file fms_diag_outfield.F90.

◆ get_reduced_k_range() [2/2]

pure logical function get_reduced_k_range ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets reduced_k_range.

Returns
copy of integer member reduced_k_range
Parameters
[in]thisThe fmsDiagOutfield_type object

Definition at line 205 of file fms_diag_outfield.F90.

◆ get_time_reduction() [1/2]

procedure get_time_reduction ( class (fmsdiagoutfield_type), intent(in)  this)

Gets the time_reduction object.

Returns
copy of the memeber object time_reduction
Parameters
[in]thisdiag object

Definition at line 104 of file fms_diag_outfield.F90.

◆ get_time_reduction() [2/2]

type(fmsdiagtimereduction_type) function, allocatable get_time_reduction ( class (fmsdiagoutfield_type), intent(in)  this)
private

Gets the time_reduction object.

Returns
copy of the memeber object time_reduction
Parameters
[in]thisdiag object

Definition at line 233 of file fms_diag_outfield.F90.

◆ initialize() [1/2]

procedure, public initialize ( class(fmsdiagoutfield_type), intent(inout)  this,
type(input_field_type), intent(in)  input_field,
type(output_field_type), intent(in)  output_field,
logical, intent(in)  mask_present,
integer, intent(in)  freq 
)

Update the fmsDiagOutfield_type instance with those fields used in the legacy diag manager. Note that this is initializing from the legacy structures. Note that output_frequency came from file_type;.

Parameters
[in,out]thisAn instance of the fmsDiagOutfield_type
[in]input_fieldAn instance of the input_field_type
[in]output_fieldAn instance of the output_field_type
[in]mask_presentWas the mask present in the call to send_data?
[in]freqThe output frequency.

Definition at line 105 of file fms_diag_outfield.F90.

◆ initialize() [2/2]

procedure initialize ( class(fmsdiagoutfieldindex_type), intent(inout)  this,
integer, intent(in)  is,
integer, intent(in)  js,
integer, intent(in)  ks,
integer, intent(in)  ie,
integer, intent(in)  je,
integer, intent(in)  ke,
integer, intent(in)  hi,
integer, intent(in)  hj,
integer, intent(in)  f1,
integer, intent(in)  f2,
integer, intent(in)  f3,
integer, intent(in)  f4 
)

#brief initialize all the members of the class.

Parameters
[in]ksVariable used to update class member of same names.
[in]keVariable used to update class member of same names.
[in]hjVariable used to update class member of same names.
[in]f4Variable used to update class member of same names.

Definition at line 129 of file fms_diag_outfield.F90.

◆ initialize_for_ut() [1/2]

procedure initialize_for_ut ( class(fmsdiagoutfield_type), intent(inout)  this,
character(len=*), intent(in)  module_name,
character(len=*), intent(in)  field_name,
character(len=*), intent(in)  output_name,
integer, intent(in)  power_val,
logical, intent(in)  phys_window,
logical, intent(in)  need_compute,
logical, intent(in)  mask_variant,
logical, intent(in)  reduced_k_range,
integer, intent(in)  num_elems,
integer, intent(in)  time_reduction_type,
integer, intent(in)  output_freq 
)

Initialized an fmsDiagOutfield_type as needed for unit tests.

Parameters
[in]module_nameVar with same name in fmsDiagOutfield_type
[in]field_nameVar with same name in fmsDiagOutfield_type
[in]output_nameVar with same name in fmsDiagOutfield_type
[in]power_valVar with same name in fmsDiagOutfield_type
[in]phys_windowVar with same name in fmsDiagOutfield_type
[in]need_computeVar with same name in fmsDiagOutfield_type
[in]mask_variantVar with same name in fmsDiagOutfield_type
[in]reduced_k_rangeVar with same name in fmsDiagOutfield_type
[in]num_elemsVar with same name in fmsDiagOutfield_type
[in]time_reduction_typeVar with same name in fmsDiagOutfield_type
[in]output_freqThe output_freq need in initaliztion of time_reduction_type

Definition at line 106 of file fms_diag_outfield.F90.

◆ initialize_for_ut() [2/2]

subroutine initialize_for_ut ( class(fmsdiagoutfield_type), intent(inout)  this,
character(len=*), intent(in)  module_name,
character(len=*), intent(in)  field_name,
character(len=*), intent(in)  output_name,
integer, intent(in)  power_val,
logical, intent(in)  phys_window,
logical, intent(in)  need_compute,
logical, intent(in)  mask_variant,
logical, intent(in)  reduced_k_range,
integer, intent(in)  num_elems,
integer, intent(in)  time_reduction_type,
integer, intent(in)  output_freq 
)
private

Initialized an fmsDiagOutfield_type as needed for unit tests.

Parameters
[in]module_nameVar with same name in fmsDiagOutfield_type
[in]field_nameVar with same name in fmsDiagOutfield_type
[in]output_nameVar with same name in fmsDiagOutfield_type
[in]power_valVar with same name in fmsDiagOutfield_type
[in]phys_windowVar with same name in fmsDiagOutfield_type
[in]need_computeVar with same name in fmsDiagOutfield_type
[in]mask_variantVar with same name in fmsDiagOutfield_type
[in]reduced_k_rangeVar with same name in fmsDiagOutfield_type
[in]num_elemsVar with same name in fmsDiagOutfield_type
[in]time_reduction_typeVar with same name in fmsDiagOutfield_type
[in]output_freqThe output_freq need in initaliztion of time_reduction_type

Definition at line 385 of file fms_diag_outfield.F90.

◆ initialize_outfield_imp()

subroutine initialize_outfield_imp ( class(fmsdiagoutfield_type), intent(inout)  this,
type(input_field_type), intent(in)  input_field,
type(output_field_type), intent(in)  output_field,
logical, intent(in)  mask_present,
integer, intent(in)  freq 
)
private

Update the fmsDiagOutfield_type instance with those fields used in the legacy diag manager. Note that this is initializing from the legacy structures. Note that output_frequency came from file_type;.

Parameters
[in,out]thisAn instance of the fmsDiagOutfield_type
[in]input_fieldAn instance of the input_field_type
[in]output_fieldAn instance of the output_field_type
[in]mask_presentWas the mask present in the call to send_data?
[in]freqThe output frequency.

Definition at line 353 of file fms_diag_outfield.F90.

◆ initialize_outfield_index_type()

subroutine initialize_outfield_index_type ( class(fmsdiagoutfieldindex_type), intent(inout)  this,
integer, intent(in)  is,
integer, intent(in)  js,
integer, intent(in)  ks,
integer, intent(in)  ie,
integer, intent(in)  je,
integer, intent(in)  ke,
integer, intent(in)  hi,
integer, intent(in)  hj,
integer, intent(in)  f1,
integer, intent(in)  f2,
integer, intent(in)  f3,
integer, intent(in)  f4 
)
private

#brief initialize all the members of the class.

Parameters
[in]ksVariable used to update class member of same names.
[in]keVariable used to update class member of same names.
[in]hjVariable used to update class member of same names.
[in]f4Variable used to update class member of same names.

Definition at line 326 of file fms_diag_outfield.F90.

◆ reset_time_reduction_ut()

subroutine reset_time_reduction_ut ( class(fmsdiagoutfield_type), intent(inout)  this,
type(fmsdiagtimereduction_type source 
)
private

Reset the time reduction member field. Intended for use in unit tests only.

Parameters
[in,out]thisAn instance of the fmsDiagOutfield_type
sourceThe fmsDiagTimeReduction_type to copy from

Definition at line 413 of file fms_diag_outfield.F90.

Variable Documentation

◆ f1

integer f1
private

Definition at line 120 of file fms_diag_outfield.F90.

◆ f2

integer f2

Indecies used specify 1st dim bounds of field, mask and rmask.

Definition at line 120 of file fms_diag_outfield.F90.

◆ f3

integer f3

Definition at line 121 of file fms_diag_outfield.F90.

◆ f4

integer f4

Indecies used specify 2st dim bounds of field, mask and rmask.

Definition at line 121 of file fms_diag_outfield.F90.

◆ field_name

character(len=:), allocatable field_name

Output field name.

Definition at line 67 of file fms_diag_outfield.F90.

◆ hi

integer hi

halo size in x direction. Same name as in send_data

Definition at line 126 of file fms_diag_outfield.F90.

◆ hj

integer hj

halo size in y direction. Same

Definition at line 127 of file fms_diag_outfield.F90.

◆ ie

integer ie

Definition at line 124 of file fms_diag_outfield.F90.

◆ is

integer is

Definition at line 122 of file fms_diag_outfield.F90.

◆ je

integer je

Definition at line 124 of file fms_diag_outfield.F90.

◆ js

integer js

Definition at line 122 of file fms_diag_outfield.F90.

◆ ke

integer ke

End indecies in each spatial dim of the field_data; and may be user provided in send_data.

Definition at line 124 of file fms_diag_outfield.F90.

◆ ks

integer ks

Start indecies in each spatial dim of the field_data; and may be user provided in send_data.

Definition at line 122 of file fms_diag_outfield.F90.

◆ mask_present

logical mask_present

True iff mask argument is present in user-facing send function call. Note this field exists since the actual mask argument in the send function call may be downstream replaced by a null pointer which is considered present.

Definition at line 78 of file fms_diag_outfield.F90.

◆ mask_variant

logical mask_variant

Definition at line 77 of file fms_diag_outfield.F90.

◆ missvalue_present

logical missvalue_present

Definition at line 76 of file fms_diag_outfield.F90.

◆ module_name

character(len=:), allocatable module_name
private

Module name.

Definition at line 66 of file fms_diag_outfield.F90.

◆ need_compute

logical need_compute

True iff is local_output and current PE take part in send_data.

Definition at line 74 of file fms_diag_outfield.F90.

◆ output_file

character(len=:), allocatable output_file

File where field should be written.

Definition at line 69 of file fms_diag_outfield.F90.

◆ output_name

character(len=:), allocatable output_name

Output name written to file.

Definition at line 68 of file fms_diag_outfield.F90.

◆ phys_window

logical phys_window

TODO: Rename? OMP subsetted data, See output_fields.

Definition at line 73 of file fms_diag_outfield.F90.

◆ pow_value

integer pow_value

Power value for rms or pow(x) calculations.

Definition at line 72 of file fms_diag_outfield.F90.

◆ reduced_k_range

logical reduced_k_range

If true, the local start and end indecies are used in k (i.e. 3rd) dim.

Definition at line 75 of file fms_diag_outfield.F90.

◆ time_reduction

type(fmsdiagtimereduction_type) time_reduction

Instance of the fmsDiagTimeTeduction_type.

Definition at line 83 of file fms_diag_outfield.F90.