MODULE pd_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 :: Precipi = 1 INTEGER, PARAMETER :: Wind_energy = 2 INTEGER, PARAMETER :: Dryness_ratio = 3 INTEGER, PARAMETER :: Snow_cover = 4 INTEGER, PARAMETER :: Heat_units = 5 ! not used yet INTEGER, PARAMETER :: Max_cli_vars = 5 ! Table of period variables to be computed as sums for periods ! that are averaged INTEGER, PARAMETER :: Eros_loss = 1 + Max_cli_vars INTEGER, PARAMETER :: Salt_loss = 2 + Max_cli_vars INTEGER, PARAMETER :: Susp_loss = 3 + Max_cli_vars INTEGER, PARAMETER :: PM10_loss = 4 + Max_cli_vars INTEGER, PARAMETER :: Salt_1 = 5 + Max_cli_vars INTEGER, PARAMETER :: Salt_2 = 6 + Max_cli_vars INTEGER, PARAMETER :: Salt_3 = 7 + Max_cli_vars INTEGER, PARAMETER :: Salt_4 = 8 + Max_cli_vars INTEGER, PARAMETER :: Susp_1 = 9 + Max_cli_vars INTEGER, PARAMETER :: Susp_2 = 10 + Max_cli_vars INTEGER, PARAMETER :: Susp_3 = 11 + Max_cli_vars INTEGER, PARAMETER :: Susp_4 = 12 + Max_cli_vars INTEGER, PARAMETER :: PM10_1 = 13 + Max_cli_vars INTEGER, PARAMETER :: PM10_2 = 14 + Max_cli_vars INTEGER, PARAMETER :: PM10_3 = 15 + Max_cli_vars INTEGER, PARAMETER :: PM10_4 = 16 + Max_cli_vars INTEGER, PARAMETER :: Salt_loss2 = 17 + Max_cli_vars INTEGER, PARAMETER :: Salt_loss2_area = 18 + Max_cli_vars INTEGER, PARAMETER :: Salt_loss2_frac = 19 + Max_cli_vars INTEGER, PARAMETER :: Salt_dep2 = 20 + Max_cli_vars INTEGER, PARAMETER :: Salt_dep2_area = 21 + Max_cli_vars INTEGER, PARAMETER :: Salt_dep2_frac = 22 + Max_cli_vars INTEGER, PARAMETER :: Trans_Cap = 23 + Max_cli_vars INTEGER, PARAMETER :: Trans_Cap_area = 24 + Max_cli_vars INTEGER, PARAMETER :: Trans_Cap_frac = 25 + Max_cli_vars INTEGER, PARAMETER :: Sheltered_area = 26 + Max_cli_vars INTEGER, PARAMETER :: Sheltered_frac = 27 + Max_cli_vars INTEGER, PARAMETER :: Max_ave_vars = 27 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 :: Random_rough = 1 + Max_cli_ave_vars INTEGER, PARAMETER :: Ridge_ht = 2 + Max_cli_ave_vars INTEGER, PARAMETER :: Ridge_sp = 3 + Max_cli_ave_vars INTEGER, PARAMETER :: Ridge_dir = 4 + Max_cli_ave_vars INTEGER, PARAMETER :: Crop_canopy_cov = 5 + Max_cli_ave_vars INTEGER, PARAMETER :: Crop_stand_sil = 6 + Max_cli_ave_vars INTEGER, PARAMETER :: Crop_stand_mass = 7 + Max_cli_ave_vars INTEGER, PARAMETER :: Res_flat_cov = 8 + Max_cli_ave_vars INTEGER, PARAMETER :: Res_stand_sil = 9 + Max_cli_ave_vars INTEGER, PARAMETER :: Res_flat_mass = 10 + Max_cli_ave_vars INTEGER, PARAMETER :: Res_stand_mass = 11 + Max_cli_ave_vars INTEGER, PARAMETER :: All_flat_cov = 12 + Max_cli_ave_vars INTEGER, PARAMETER :: All_stand_sil = 13 + Max_cli_ave_vars INTEGER, PARAMETER :: All_flat_mass = 14 + Max_cli_ave_vars INTEGER, PARAMETER :: All_stand_mass = 15 + Max_cli_ave_vars INTEGER, PARAMETER :: Surface_84 = 16 + Max_cli_ave_vars INTEGER, PARAMETER :: Surface_AS = 17 + Max_cli_ave_vars INTEGER, PARAMETER :: Surface_Crust = 18 + Max_cli_ave_vars INTEGER, PARAMETER :: Max_eop_vars = 18 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 pd_var_tables