Example #1
0
    flag_22_data[monthly_dist_fv[k]] = (np.array(flag_22_data["FV_PER_MONTH"], dtype = float) * np.array(flag_22_data[months[k]], dtype = float)).round(3)

flag_22_data.to_csv("output\\f22_apportion_fv.csv")
# Flag 22 end

# Flag 23: Flag water rights with reported diversions outside of diversion season
# select a subset of fields
div_season_data = pd.DataFrame(flag_22_data[["WR_WATER_RIGHT_ID", "APPLICATION_NUMBER", "USE_CODE",
        "DIRECT_DIV_JANUARY", "DIRECT_DIV_FEBRUARY", "DIRECT_DIV_MARCH", "DIRECT_DIV_APRIL", 
        "DIRECT_DIV_MAY", "DIRECT_DIV_JUNE", "DIRECT_DIV_JULY", "DIRECT_DIV_AUGUST",
        "DIRECT_DIV_SEPTEMBER", "DIRECT_DIV_OCTOBER", "DIRECT_DIV_NOVEMBER", "DIRECT_DIV_DECEMBER"]])
# change back to Y / N data
div_season_data = div_season_data.replace("0", "N")
div_season_data = div_season_data.replace("1", "Y")
# import rms monthly data
rms_monthly = imp.import_rms_monthly(100000000000000)
rms_monthly.reset_index(inplace = True)
# merge data
flag_23_data = rms_monthly.merge(div_season_data, how = "inner", left_on = "APPL_ID", right_on = "APPLICATION_NUMBER")
# this merge multiplies a lot of records because of multiple use types per application number. 

# rms monthly reported diversion fields
div_reported = ["JANUARY_DIV", "FEBRUARY_DIV", "MARCH_DIV", "APRIL_DIV", 
              "MAY_DIV", "JUNE_DIV", "JULY_DIV", "AUGUST_DIV", 
              "SEPTEMBER_DIV", "OCTOBER_DIV", "NOVEMBER_DIV", "DECEMBER_DIV"]
# Field DIV_REPORTED_OUTSIDE_DIV_SEASON criteria
for n, month in enumerate(div_reported):
    flag_23_data["DIV_REPORTED_OUTSIDE_DIV_SEASON"] = np.where( 
        (flag_23_data[div_reported[n]] > 0)                          &  
        (flag_23_data[months[n]] == "N"),
        "Y", "N")
Example #2
0
# -*- coding: utf-8 -*-
"""
Created on Mon Apr 12 09:26:48 2021

@author: dpedroja
"""

import pandas as pd
import calendar
import numpy as np
import import_functions as imp

# RESULTS OF QA/QC should be used to clean up the rms dataset 

# water diversion, i.e., combined DIRECT + STORAGE by month
water_div_monthly = imp.import_rms_monthly(90000)
water_div_annual = imp.import_rms_annual(999999999)

# MEANS
# mean annual 
mean_annual_div = water_div_annual.groupby(["WATER_RIGHT_ID", "APPL_ID"]).mean().round(2)
mean_annual_div.drop(["YEAR"], axis = 1, inplace = True)
mean_annual_div.columns = ["MEAN_ANNUAL_DIV"]

# mean monthly
water_div_monthly.reset_index(inplace = True)
mean_monthly_div = water_div_monthly.groupby(["WATER_RIGHT_ID", "APPL_ID"]).mean().round(2)
mean_monthly_div.drop(["YEAR"], axis = 1, inplace = True)
mean_monthly_div.columns = ['MEAN_JANUARY_DIV', 'MEAN_FEBRUARY_DIV', 'MEAN_MARCH_DIV', 'MEAN_APRIL_DIV', 
                            'MEAN_MAY_DIV', 'MEAN_JUNE_DIV', 'MEAN_JULY_DIV', 'MEAN_AUGUST_DIV', 
                            'MEAN_SEPTEMBER_DIV', 'MEAN_OCTOBER_DIV', 'MEAN_NOVEMBER_DIV', 'MEAN_DECEMBER_DIV']