dceps=1e-4, npl=16, nph=16, npmin=8, npmax=256) btn = mt3.Mt3dBtn(mt, icbund=1, prsity=ssz, sconc=sconc, ifmtcn=-1, chkmas=False, nprobs=10, nprmas=10, dt0=0.0, ttsmult=1.2, ttsmax=100.0, ncomp=1, nprs=nprs, timprs=timprs, mxstrn=1e8) dsp = mt3.Mt3dDsp(mt, al=0., trpt=1., trpv=1., dmcoef=0.) gcg = mt3.Mt3dGcg(mt, mxiter=1, iter1=50, isolve=3, cclose=1e-6, iprgcg=5) ssm = mt3.Mt3dSsm(mt, stress_period_data=ssm_data) mt.write_input() # Create the SEAWAT model structure mswtf = swt.Seawat(modelname, 'nam_swt', modflowmodel=ml, mt3dmodel=mt, exe_name=swtexe_name, model_ws=dirs[1]) # Coupled to modflow model mf and mt3dms model mt vdf = swt.SeawatVdf(mswtf, nswtcpl=1, iwtable=0, densemin=0, densemax=0, denseref=1000., denseslp=25., firstdt=1.0e-03) mswtf.write_input() # run seawat model if not skipRuns: m = mswtf.run_model(silent=False) # read seawat model data ucnfile = os.path.join(dirs[1], 'MT3D001.UCN') uobj = fu.UcnFile(ucnfile) times = uobj.get_times() print(times) ukstpkper = uobj.get_kstpkper() print(ukstpkper) c = uobj.get_data(totim=times[-1]) conc = np.zeros((swt_nlay, swt_ncol), np.float) for icol in range(0, swt_ncol): for ilay in range(0, swt_nlay):
dceps=1e-4, npl=16, nph=16, npmin=8, npmax=256) btn = mt3.Mt3dBtn(mt, icbund=icbund, prsity=ssz, ncomp=1, sconc=sconc, ifmtcn=-1, chkmas=False, nprobs=10, nprmas=10, dt0=1.0, ttsmult=1.0, nprs=nprs, timprs=timprs, mxstrn=1e8) dsp = mt3.Mt3dDsp(mt, al=0., trpt=1., trpv=1., dmcoef=0.) gcg = mt3.Mt3dGcg(mt, mxiter=1, iter1=50, isolve=1, cclose=1e-7) ssm = mt3.Mt3dSsm(mt, stress_period_data=ssm_data) mt.write_input() #--Create the SEAWAT model structure mswt = swt.Seawat(modelname, 'nam_swt', ml, mt, exe_name=swtexe_name, model_ws=dirs[1]) # Coupled to modflow model mf and mt3dms model mt vdf = swt.SeawatVdf(mswt, iwtable=0, densemin=0, densemax=0, denseref=1000., denseslp=0.7143, firstdt=1e-3) mswt.write_input() #--Run SEAWAT m = mswt.run_model(silent=False) #--plot the results timprs #--read seawat model data ucnfile = os.path.join(dirs[1], 'MT3D001.UCN') uobj = fu.UcnFile(ucnfile) times = uobj.get_times() print times conc = np.zeros((len(times), nlay_swt, ncol), np.float) for idx, tt in enumerate(times): c = uobj.get_data(totim=tt) for ilay in xrange(0, nlay_swt):
ssm = mt3.Mt3dSsm(mt, stress_period_data=ssm_data) mt.write_input() '''Initialize SEAWAT packages''' mswtf = swt.Seawat(name, 'nam_swt', exe_name=swtexe_name, modflowmodel=ml, mt3dmodel=mt, model_ws=dirs[0]) vdf = swt.SeawatVdf(mswtf, mtdnconc=-1, nsrhoeos=1, nswtcpl=1, iwtable=0, densemin=0, densemax=0, denseref=denseref, mtrhospec=1, denseslp=drhodT, crhoref=crho_ref) vsc = swt.SeawatVsc( mswtf, mt3dmuflg=-1, viscmin=0.0, viscmax=0.0, viscref= visc_ref, #Viscref must be set to the reference viscosity at T=12 --> nsmueos=1, mtmutempspec=1, mutempopt=1,
def get_package(self, _swt): content = self.merge() return seawat.SeawatVdf(_swt, **content)