在FloPy中加载现有的带有Voronoi Mesh的MODFLOW-USG模型



我正在尝试使用FloPy(Windows环境(加载现有的MODFLOW-USG模型。该模型有一个Voronoi网格,这似乎触发了"加载"功能:

m1=flopy.modflow.Modflow.load(model_name+".nam",model_ws=model_dir,verbose=True,check=False,exe_name="mfusg.exe",version='mfusg')

我收到以下错误,这似乎与 FloPy 期望具有行和列的结构化网格这一事实有关:

TypeError                                 Traceback (most recent call last)
<ipython-input-33-62420c415719> in <module>
6 head_file = os.path.join(model_dir,model_name+'.hds')
7 print(head_file)
----> 8 m1=flopy.modflow.Modflow.load(model_name+".nam",model_ws=model_dir,verbose=True,check=False,exe_name="mfusg.exe",version='mfusg')
9 headobj = bf.HeadUFile(head_file,verbose=True,text='HEADU')
10 headobj.list_records()
~Anaconda3libsite-packagesflopymodflowmf.py in load(f, version, exe_name, verbose, model_ws, load_only, forgive, check)
797                             item.package.load(item.filehandle, ml,
798                                               ext_unit_dict=ext_unit_dict,
--> 799                                               check=False)
800                         else:
801                             item.package.load(item.filehandle, ml,
~Anaconda3libsite-packagesflopymodflowmfrch.py in load(f, model, nper, ext_unit_dict, check)
408                         print(txt)
409                     t = Util2d.load(f, model, (nrow, ncol), np.float32, 'rech',
--> 410                                     ext_unit_dict)
411                 else:
412                     parm_dict = {}
~Anaconda3libsite-packagesflopyutilsutil_array.py in load(f_handle, model, shape, dtype, name, ext_unit_dict, array_free_format, array_format)
2699 
2700         elif cr_dict['type'] == 'internal':
-> 2701             data = Util2d.load_txt(shape, f_handle, dtype, cr_dict['fmtin'])
2702             u2d = Util2d(model, shape, dtype, data, name=name,
2703                          iprn=cr_dict['iprn'], fmtin="(FREE)",
~Anaconda3libsite-packagesflopyutilsutil_array.py in load_txt(shape, file_in, dtype, fmtin)
2376         elif len(shape) == 2:
2377             nrow, ncol = shape
-> 2378             num_items = nrow * ncol
2379         else:
2380             raise ValueError(
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'

我找不到任何文档或Jupyter笔记本,其中包含使用Voronoi网格加载现有模型的示例,只能创建新的三角形网格或结构化/局部网格细化网格。

使用 forgive = True 尝试代码。

m1=flopy.modflow.Modflow.load(model_name+".nam",model_ws=model_dir,verbose=True,check=False,exe_name="mfusg.exe",version='mfusg', forgive = True)

最新更新