import flopy.utils.binaryfile as bf import Base as base import numpy as np #给水度 water_u = 0.2 #研究区域面积平方米 water_F= float(5652 * 500 *500) #有效计算单元格 water_invalid_cell =5652 #研究区域平方千米 water_F_KM= 680.250 pyq_cells_total =2721 #地下水蓄变量 def get_grd_storage(model_name,per1,per2): arr = np.loadtxt(base.xs_mp_path, dtype=int) pyq_cells=[] k=0 for i in range(len(arr)): for j in range(len(arr[i])): if arr[i][j] == 1: k+=1 pyq_cells.append((i,j)) dir = base.model_dir + model_name + "\\modflow.head" if model_name=="202001_202212": dir = base.baseModel2 + "\\modflow.head" head = bf.HeadFile(dir) alldata = head.get_alldata() #初始水位数据 z_start = alldata[int(per1+1)*3-3,0,:,:] #结束水位数据 z_end = alldata[int(per2+1)*3-1,0,:,:] z_start[(z_start<=0)] = 0 z_end[(z_end<=0)] = 0 # z_start_avg = float(np.sum(z_start)/5652) # z_end_avg = float(np.sum(z_end)/5652) z_start_total = 0 z_end_total = 0 for item in pyq_cells: i = item[0] j = item[1] z_start_total += z_start[i,j] z_end_total += z_end[i,j] z_start_avg = z_start_total/2721 z_end_avg = z_end_total/2721 #ΔW=100·(h1-h2)·μ·F/t year = (per2+1-per1)/12 # print(year) storage = 100 * (z_start_avg-z_end_avg) * water_u * water_F_KM /year return storage #相对均衡差 Q1 #Q总补-Q总排±ΔW=Χ # Χ/Q总补 *100% def get_grd_relative_equ(Q1, Q2,w): x= ( Q1-Q2) + w y = x/Q1 return y