MODULE period_var_tables IMPLICIT NONE ! Table of half month variables to be computed as period sums ! for half months that are averaged (on a per day basis) ! (climatic variables) INTEGER, PARAMETER :: Precip = 1 INTEGER, PARAMETER :: Wind_energy = 2 INTEGER, PARAMETER :: Heat_units = 3 INTEGER, PARAMETER :: Max_cli_vars = 3 ! Table of period variables to be computed as sums for periods ! that are averaged INTEGER, PARAMETER :: Erosion_loss = 1 + Max_cli_vars INTEGER, PARAMETER :: Saltation = 2 + Max_cli_vars INTEGER, PARAMETER :: Suspension = 3 + Max_cli_vars INTEGER, PARAMETER :: Salt1 = 4 + Max_cli_vars INTEGER, PARAMETER :: Salt2 = 5 + Max_cli_vars INTEGER, PARAMETER :: Salt3 = 6 + Max_cli_vars INTEGER, PARAMETER :: Salt4 = 7 + Max_cli_vars INTEGER, PARAMETER :: Max_ave_vars = 7 INTEGER, PARAMETER :: Max_cli_ave_vars = Max_cli_vars + Max_ave_vars ! Table of period variables in which the end-of-period values ! are to be averaged INTEGER, PARAMETER :: RR = 1 + Max_cli_ave_vars INTEGER, PARAMETER :: RH = 2 + Max_cli_ave_vars INTEGER, PARAMETER :: RS = 3 + Max_cli_ave_vars INTEGER, PARAMETER :: Rdir = 4 + Max_cli_ave_vars INTEGER, PARAMETER :: Canopy = 5 + Max_cli_ave_vars INTEGER, PARAMETER :: Max_eop_vars = 5 INTEGER, PARAMETER :: Max_yrly_vars = Max_cli_ave_vars INTEGER, PARAMETER :: Max_monthly_vars = Max_cli_ave_vars INTEGER, PARAMETER :: Max_hmonth_vars = Max_cli_vars INTEGER, PARAMETER :: Min_period_vars = Max_cli_vars + 1 INTEGER, PARAMETER :: Max_period_vars = Max_cli_ave_vars + Max_eop_vars ! Note that the cli and ave variables are needed for yrly, monthly, ! and monthly/rot_yr periods. The cli variables alone are needed for ! half month/rot_yr periods. The ave and eop (end-of-period) variables ! are needed for the "period" periods. Hopefully, we can allocate ! the dynamic arrays to start at: Max_cli_vars+1 and go to: ! Max_cli_ave_vars+Max_eop_vars We will see. END MODULE period_var_tables