示例#1
0
                  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):
示例#2
0
                      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):
示例#3
0
    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,
示例#4
0
 def get_package(self, _swt):
     content = self.merge()
     return seawat.SeawatVdf(_swt, **content)