30 MODULE fms_diag_time_reduction_mod
32 USE diag_data_mod,
only: every_time
43 INTEGER,
PARAMETER :: time_none = 0
63 integer ,
private :: the_time_reduction
64 logical ,
private :: time_averaging
65 logical ,
private :: time_ops
78 procedure,
public ::
copy
93 integer,
intent(in) :: dt
94 integer,
intent(in) :: out_frequency
98 call time_redux%initialize(dt, out_frequency)
105 integer,
intent(in) :: dt
106 integer,
intent(in) :: out_frequency
108 this%the_time_reduction = dt
114 this%time_averaging = .true.
116 this%time_averaging= .false.
118 & .AND. (dt .NE. time_none))
THEN
119 CALL error_mesg(
'fmsDiagTimeReduction_type: initialize', &
120 &
'time_averaging=.false. but reduction type not compatible', fatal)
129 this%time_ops = .true.
131 this%time_ops = .false.
139 this%the_time_reduction = source%the_time_reduction
140 this%time_averaging = source%time_averaging
141 this%time_ops = source%time_ops
224 end module fms_diag_time_reduction_mod
pure logical function is_time_none_imp(this)
Returns true iff the_time_reduction is time_none.
pure logical function is_time_sum_imp(this)
Returns true iff the_time_reduction is time_sum.
pure logical function do_time_averaging_imp(this)
Returns true iff time_averaging is true.
pure logical function is_time_min_imp(this)
Returns true iff the_time_reduction is time_min.
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 is_time_rms_imp(this)
Returns true iff the_time_reduction is time_rms.
pure logical function is_time_max_imp(this)
Returns true iff the_time_reduction is time_max.
subroutine copy(this, source)
Copy the source time reduction object into the this object.
integer, parameter time_min
The reduction method is min.
integer, parameter time_diurnal
The reduction method is diurnal.
integer, parameter time_power
The reduction method is power.
pure logical function is_time_power_imp(this)
Returns true iff the_time_reduction is time_power.
pure logical function is_time_diurnal_imp(this)
Returns true iff the_time_reduction is time_diurnal.
integer, parameter time_average
The reduction method is average.
integer, parameter time_sum
The reudction method is sum.
integer, parameter time_rms
The reduction method is rms.
subroutine initialize(this, dt, out_frequency)
Initialize the object. As an alternative to the constructor, one can allocate an fmsDiagTimeReduction...
pure logical function is_time_average_imp(this)
Returns true iff the_time_reduction is time_average.
integer, parameter time_max
The reduction method is max.
pure logical function has_time_ops_imp(this)
Returns true if any of time_min, time_max, time_rms or time_average is true.
subroutine, public error_mesg(routine, message, level)
Print notes, warnings and error messages; terminates program for warning and error messages....