! The purpose of the derived-type "dates" variables is to ! to keep track of the time period (duration) that a variable ! is actively being tracked (summed, averaged, etc.) MODULE pd_dates_vars USE pd_dates_type_def ! "pd_dates" structures used by "pd_update" structures TYPE (pd_dates_type),DIMENSION(:), TARGET, ALLOCATABLE :: yrly_dates TYPE (pd_dates_type),DIMENSION(:,:),TARGET, ALLOCATABLE :: monthly_dates TYPE (pd_dates_type),DIMENSION(:), TARGET, ALLOCATABLE :: hmonth_dates TYPE (pd_dates_type),DIMENSION(:), TARGET, ALLOCATABLE :: period_dates END MODULE pd_dates_vars MODULE pd_update_vars ! The purpose of the derived-type "update" variables is to ! keep track of selected variable values over a specified period ! of time. This may include summation, running average, beginning ! period value, median, last period value, etc. ! Once the "update" variable has been "filled" after reaching ! the end of it's specified period, the value is passed on to the ! selected period "report" variables for each particular parameter. USE pd_var_type_def IMPLICIT NONE ! Specify "pd_update_vars" variable structures TYPE (pd_var_type), DIMENSION(:), TARGET, ALLOCATABLE :: yrly_update TYPE (pd_var_type), DIMENSION(:), TARGET, ALLOCATABLE :: monthly_update TYPE (pd_var_type), DIMENSION(:), TARGET, ALLOCATABLE :: hmonth_update TYPE (pd_var_type), DIMENSION(:), TARGET, ALLOCATABLE :: period_update END MODULE pd_update_vars MODULE pd_report_vars ! The derived-type "pd_report_vars" variables are intended to update ! and store the values of specified parameters based upon informaton ! passed to it from the "pd_update_vars" derived-type variables. ! The "report" variables may be storing a sum, running average, ! median, etc. values of the specified parameters. USE pd_var_type_def IMPLICIT NONE ! Specify "period var" structures TYPE (pd_var_type),DIMENSION(:,:),TARGET,ALLOCATABLE :: yrly_report TYPE (pd_var_type),DIMENSION(:,:,:),TARGET,ALLOCATABLE :: monthly_report TYPE (pd_var_type),DIMENSION(:,:),TARGET,ALLOCATABLE :: hmonth_report TYPE (pd_var_type),DIMENSION(:,:),TARGET,ALLOCATABLE :: period_report END MODULE pd_report_vars