# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 WATER BODIES & BRANCHES paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #///////////////NUMBER OF W.BODIES & BRANCHES////////////////////////////////// ############################################################################### bodies_branches = { 'numb_water_bodies': paramcontrol('NWB', False, ' 1', 1, 1, 1), 'numb_water_branches': paramcontrol('NBR', False, " 4", 1, 1, 1), 'numb_layers': paramcontrol('KMX', False, " 24", 1, 1, 1), 'num_segments': paramcontrol('IMX', False, " 41", 1, 1, 1), 'numb_output_dates': paramcontrol('NDAY', False, " 1000", 1, 1, 1), 'numb_processors': paramcontrol('NPROC', False, " 4", 1, 1, 1), }
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL OUTFLOW STRUCUTURES paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////////////////OUTFLOW STRUCTURE ///////////////////////////////// ############################################################################### outflow_structure = { 'num_structures' : [ #The number of entries must be the number in numb_water_branches paramcontrol('NSTR_BR_1', False," 1",1,1,1), paramcontrol('NSTR_BR_2', False," 0",1,1,1), paramcontrol('NSTR_BR_3', False," 0",1,1,1), paramcontrol('NSTR_BR_4', False," 0",1,1,1), ], 'outflow_interpolation_1' : [ #Outflow interpolation for structures in BRANCH 1 #The number of entries must be the number in NSTR_BR_1
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL WATER CONSTITUENTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #///////////////////////// WATER CONSTITUENTS //////////////////////////////// ############################################################################### water_const = { 'computed_constituents': paramcontrol('CCC', False, " ON", 1, 1, 1), 'limiting_concentrations': paramcontrol('LIMC', False, " OFF", 1, 1, 1), 'CST_kinetics_update_frequency': paramcontrol('CUF', False, " 1", 1, 1, 1), #Constituent Initial Concentrations 'cons_initial_concentration': [
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL CALCULATION SETTINGS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////////////////MODEL CONTROLS///////////////////////////////////// ############################################################################### model_settings = { #Calculation 'volume_balance': paramcontrol('VBC', False, " ON", 1, 1, 1), 'thermal_energy_balance': paramcontrol('EBC', False, " ON", 1, 1, 1), 'mass_balance': paramcontrol('MBC', False, " ON", 1, 1, 1), 'density_placed_inflows': paramcontrol('PQC', False, " ON", 1, 1, 1), 'evap_in_water_budget': paramcontrol('EVC', False, " ON", 1, 1, 1), 'precipitation': paramcontrol('PRC', False, " ON", 1, 1, 1), #Dead Sea 'wind': paramcontrol('WINDC', False, " ON", 1, 1, 1),
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL WATER DERIVED CONSTITUENTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #////////////////// WATER DERIVED CONSTITUENTS /////////////////////////////// ############################################################################### water_derived_const = { 'derived_constituents': [ #Dissolved Organic Carbon paramcontrol('CDWBC_DOC', False, " OFF", 1, 1, 1), #Particulate Organic Carbon paramcontrol('CDWBC_POC', False, " OFF", 1, 1, 1), #Total organic Carbon paramcontrol('CDWBC_TOC', False, " OFF", 1, 1, 1), #Dissolved Organic Nitrogen paramcontrol('CDWBC_DON', False, " OFF", 1, 1, 1),
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 ICE AND HEAT COEFFICIENTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #///////////////////////// ICE & HEAT EXCHANGE //////////////////////////////// ############################################################################### ice_heat = { 'ice_cover_algorithm': paramcontrol('ICEC', False," OFF",1,1,1), 'computational_method': paramcontrol('SLICEC', False," DETAIL",1,1,1), 'albedo' : paramcontrol('ALBEDO', False," 0.25",1,1,1), 'water_ice_xchange_coef': paramcontrol('HWICE', False," 10",1,1,1), 'fraction_radiation_abs': paramcontrol('BICE', False," 0.60",1,1,1), 'solar_radiation_ext': paramcontrol('GICE', False," 0.10",1,1,1), 'min_ice_thickness': paramcontrol('ICEMIN', False," 0.03",1,1,1), 'ice_does_not_form': paramcontrol('ICET2', False," 3",1,1,1),
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL EPIPHYTON GROUPS RATES & CONSTANTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////// EPIPHYTON GROUPS RATES & CONSTANTS ////////////////////////// ############################################################################### epiphyton_rates_constants = { 'epiphyte' : [ #The number of entries must be the same in numb_water_branches and numb_epiphyton_groups (below)! paramcontrol('EPIC_1', False," OFF",1,1,1), ], 'number_of_epiphyton_groups' : paramcontrol('NEP', False," 0",1,1,1), 'epiphyton_growth_rate': [ #The number of entries must be equal to the number_of_epiphyton_groups! paramcontrol('EG_1', False," 2.0",1,1,1), ], 'epiphyton_darkrespiration_rate': [ #The number of entries must be equal to the number_of_epiphyton_groups!
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL LIGHT EXTINCTION & ABSORPTION paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #////////////////// LIGHT EXTINCTION & ABSORPTION /////////////////////////////// ############################################################################### light_ext_absorpt = { 'water_ext_coef': [ #The number of entries must be the number in numb_water_bodies paramcontrol('EXH2O_WB_1', True, "0.22285", 0.001, 10, 0.5), ], 'organic_susp_solids': [ #The number of entries must be the number in numb_water_bodies paramcontrol('EXOM_WB_1', False, "0.10000", 0.001, 1, 0.5), ], 'solar_rad_absorbed_surface':
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL WATER CONSTITUENT FLUXES paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #////////////////// WATER CONSTITUENT FLUXES /////////////////////////////// ############################################################################### water_const_fluxes = { 'constituent_flx_comp': [ #TISS settling in paramcontrol('CFWBC_TISSIN', False, " OFF", 1, 1, 1), #TISS settling out paramcontrol('CFWBC_TISSOUT', False, " OFF", 1, 1, 1), #PO4 algal respiration paramcontrol('CFWBC_PO4AR', False, " OFF", 1, 1, 1),
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL TRIBUTARIES paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #///////////////// TRIBUTARIES & DISTRIBUTED TRIBUTARIES ///////////////////// ############################################################################### #NOT IMPLEMENTED YET tributaries = { 'number_of_trib': paramcontrol('NTR', False," 1",1,1,1), 'tributary_placement': [ #The number of entries must be the number in number_of_trib! paramcontrol('PTRC_1', False," DISTR",1,1,1), paramcontrol('PTRC_2', False," DISTR",1,1,1), paramcontrol('PTRC_3', False," DISTR",1,1,1) ],
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL SPILLWAY/WEIRS STRUCUTURES paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #///////////////////// SPILLWAY/WEIRS STRUCTURES ///////////////////////////// ############################################################################### spillway_weir = { 'number_of_spillways': [ paramcontrol('NSP', False, ' 1', 1, 1, 1), ], #Spillway parameters #All those parameters need an entry for EACH spillway/weir you want to #add in your CQW2 model. Remember to add all new parameters in the w2_con variable #inside this script.
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL ORGANIC RATES & CONSTANTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////////////// ORGANIC RATES & CONSTANTS /////////////////////////// ############################################################################### organic_rates_constants = { #Dissolved Organic Matter 'labile_DOM_decay_rate': paramcontrol('LDOMDK', False," 0.1",1,1,1), 'dissolved_labile_to_refractory_decay_rate': paramcontrol('RDOMDK', False," 0.001",1,1,1), 'do_labiledom_to_refractory_decay_rate': paramcontrol('LRDDK', False," 0.01",1,1,1), #Particulate Organic Matter
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL WITHDRAW STRUCUTURES paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////////////// WITHDRAW STRUCTURES //////////////////////////////// ############################################################################### #NOT IMPLEMENTED YET withdraw = { 'number_of_withdraws': [ paramcontrol('NWD', False, ' 1', 1, 1, 1), ], #Withdraw parameters #All this parameters need an entry for EACH withdraw you want to #add in your CQW2 model. Remember to add all new parameters in the w2_con variable
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL GATES STRUCUTURES paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #/////////////////////////// GATES STRUCTURES //////////////////////////////// ############################################################################### #NOT IMPLEMENTED YET gates = { }
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL P N Si RATES & CONSTANTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////////////// P N Si RATES & CONSTANTS /////////////////////////// ############################################################################### pnsi_rates_constants = { #Phosphorous 'sediment_release_rate_p': paramcontrol('PO4R', False," 0.001",1,1,1), 'partitioning_coef_p' : paramcontrol('PARTP', False," 0.000",1,1,1), #Ammonium 'sediment_release_rate_nh4': paramcontrol('NH4R', False," 0.010",1,1,1), 'decay_rate_nh4': paramcontrol('NH4DK', False," 0.120",1,1,1), 'nh4_lower_temp_decay': paramcontrol('NH4T1', False," 5.000",1,1,1),
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 WIND SHELTER COEFFICIENT paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #/////////////////// WIND SHELTERING COEFFICIENT ////////////////////////////// ############################################################################### wsc = { 'wind_shelter_coef': paramcontrol('WSC', True, '1.13098', 0.1, 5.0, 1.2) }
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL ALGAE GROUPS RATES & CONSTANTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #////////////////// ALGAE GROUPS RATES & CONSTANTS //////////////////////////// ############################################################################### algae_rates_constants = { #respiration and nutrient rates 'number_of_algal_groups': paramcontrol('NAL', False, " 0", 1, 1, 1), 'algal_growth_rate': [ #The number of entries must be equal to the number_of_algal_groups! paramcontrol('AG_1', False, " 2.5", 1, 1, 1), ], 'algal_darkrespiration_rate': [ #The number of entries must be equal to the number_of_algal_groups!
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL ZOOPLANCTON GROUPS RATES & CONSTANTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////// ZOOPLANCTON GROUPS RATES & CONSTANTS //////////////////////// ############################################################################### zooplankton_rates_constants = { 'number_of_zooplankton_groups' : paramcontrol('NZP', False," 0",1,1,1), #respiration and nutrient rates 'zooplankton_growth_rate': [ #The number of entries must be equal to the number_of_zooplankton_groups! paramcontrol('ZG_1', False," 1.5",1,1,1), ], 'zooplankton_respiration_rate': [ #The number of entries must be equal to the number_of_zooplankton_groups! paramcontrol('ZR_1', False," 0.1",1,1,1), ],
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL HYDRAULIC COEFFICIENTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #////////////////////// HYDRAULIC COEFFICIENTS //////////////////////////////// ############################################################################### hydraulics = { 'hor_eddy_visc': [ #The number of entries must be the number in numb_water_bodies paramcontrol('AX_WB_1', True, '1.16611', 0.01, 5, 1), #0.91460 ], 'hor_eddy_diff': [ #The number of entries must be the number in numb_water_bodies paramcontrol('DX_WB_1', True, '0.90041', 0.01, 5, 1), #1.47300 ], 'sediment_heat':
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 MODEL MACROPHYTE GROUPS RATES & CONSTANTS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #///////////////// MACROPHYTE GROUPS RATES & CONSTANTS //////////////////////// ############################################################################### macrophyte_rates_constants = { 'number_of_macrophyte_groups': paramcontrol('NMC', False, " 0", 1, 1, 1), #respiration and nutrient rates 'macrophyte_growth_rate': [ #The number of entries must be equal to the number_of_macrophyte_groups! paramcontrol('MG_1', False, " 0.3", 1, 1, 1), ], 'macrophyte_darkrespiration_rate':
# -*- coding: utf-8 -*- """ Created on Thu Sep 5 16:30:52 2019 @author: Ramon Barros CE-QUAL-W2 Calibration Tool v0.0.1 TIME SETTINGS paramcontrol(name, calibrate, value, low, high, guess) name = Parameter or setting name, calibrate = boolean, True if the parameter must be calibrated (value will be not used) value = if calibrate = False, value will be inputed to the parameter field low = minimum value for calibration purposes high = maximum value for calibration purposes guess = optimum guess for calibration purposes''' """ from cqw2_calibrate.paramcontrol import paramcontrol ############################################################################### #//////////////////// TIME SETTINGS //////////////////////////////////////// ############################################################################### time_par = { 'jday_start': paramcontrol('TMSTRT', False, ' 113.42', 1, 1, 1), #keep 7 characters 'jday_end': paramcontrol('TMEND', False, ' 227.42', 1, 1, 1), #keep 7 characters 'year': paramcontrol('YEAR', False, ' 1990', 1, 1, 1), #keep 7 characters }