31MODULE fms_diag_time_reduction_mod
33 USE diag_data_mod,
only: every_time
34 USE fms_mod,
ONLY: error_mesg, fatal
44 INTEGER,
PARAMETER :: time_none = 0
64 integer ,
private :: the_time_reduction
65 logical ,
private :: time_averaging
66 logical ,
private :: time_ops
94 integer,
intent(in) :: dt
95 integer,
intent(in) :: out_frequency
99 call time_redux%initialize(dt, out_frequency)
106 integer,
intent(in) :: dt
107 integer,
intent(in) :: out_frequency
109 this%the_time_reduction = dt
115 this%time_averaging = .true.
117 this%time_averaging= .false.
119 & .AND. (dt .NE. time_none))
THEN
120 CALL error_mesg(
'fmsDiagTimeReduction_type: initialize', &
121 &
'time_averaging=.false. but reduction type not compatible', fatal)
130 this%time_ops = .true.
132 this%time_ops = .false.
140 this%the_time_reduction = source%the_time_reduction
141 this%time_averaging = source%time_averaging
142 this%time_ops = source%time_ops
225end module fms_diag_time_reduction_mod
integer, parameter time_min
The reduction method is min value.
integer, parameter time_diurnal
The reduction method is diurnal.
integer, parameter time_power
The reduction method is average with exponents.
integer, parameter time_average
The reduction method is average of values.
integer, parameter time_sum
The reduction method is sum of values.
integer, parameter time_rms
The reudction method is root mean square of values.
integer, parameter time_max
The reduction method is max value.
subroutine copy(this, source)
Copy the source time reduction object into the this object.
class(fmsdiagtimereduction_type) function, allocatable fmsdiagtimereduction_type_constructor(dt, out_frequency)
The class contructors. Just allocates the class and calls an initializer.
pure logical function has_time_ops_imp(this)
Returns true if any of time_min, time_max, time_rms or time_average is true.
pure logical function is_time_sum_imp(this)
Returns true iff the_time_reduction is time_sum.
pure logical function is_time_diurnal_imp(this)
Returns true iff the_time_reduction is time_diurnal.
pure logical function is_time_power_imp(this)
Returns true iff the_time_reduction is time_power.
pure logical function is_time_max_imp(this)
Returns true iff the_time_reduction is time_max.
pure logical function is_time_min_imp(this)
Returns true iff the_time_reduction is time_min.
pure logical function is_time_rms_imp(this)
Returns true iff the_time_reduction is time_rms.
pure logical function is_time_none_imp(this)
Returns true iff the_time_reduction is time_none.
subroutine initialize(this, dt, out_frequency)
Initialize the object. As an alternative to the constructor, one can allocate an fmsDiagTimeReduction...
pure logical function do_time_averaging_imp(this)
Returns true iff time_averaging is true.
pure logical function is_time_average_imp(this)
Returns true iff the_time_reduction is time_average.