Boundary Condition¶
Please refer to this page for detailed horizontal B.C. and nudging options supported by SCHISM.
TPXO¶
PySCHISM uses TPXO Global Tidal Model database. You may need to register an account on the website to download the data.
Generating bctides.in:
from datetime import datetime
from pyschism.mesh import Hgrid
from pyschism.forcing.bctides import Bctides, iettype, ifltype, isatype, itetype
if __name__ == '__main__':
startdate = datetime(2022, 4, 1)
rnday = 10
hgrid = Hgrid.open("./hgrid.gr3", crs="epsg:4326")
iet3 = iettype.Iettype3(constituents='major', database='tpxo')
iet4 = iettype.Iettype4()
iet5 = iettype.Iettype5(iettype3=iet3, iettype4=iet4)
ifl3 = ifltype.Ifltype3(constituents='major', database='tpxo')
ifl4 = ifltype.Ifltype4()
ifl5 = ifltype.Ifltype5(ifltype3=ifl3, ifltype4=ifl4)
isa3 = isatype.Isatype4()
ite3 = itetype.Itetype4()
bctides = Bctides(hgrid, iettype=iet5, ifltype=ifl5, isatype=isa3, itetype=ite3)
bctides.write('./', startdate, rnday, bctides=True, elev2D=False, uv3D=False, tem3D=False, sal3D=False, overwrite=True)
HYCOM¶
Generating elev.2D.th.nc, SAL_3D.th.nc, TEM_3D.th.nc, and uv3D.th.nc:
from datetime import datetime
from pyschism.mesh.hgrid import Hgrid
from pyschism.forcing.hycom.hycom2schism import OpenBoundaryInventory
if __name__ == '__main__':
start_date = datetime(2022, 4, 1)
rnday = 10
hgrid = Hgrid.open('./hgrid.gr3', crs='epsg:4326')
vgrid = './vgrid.in'
outdir = './'
bnd = OpenBoundaryInventory(hgrid, vgrid)
bnd.fetch_data(outdir, start_date, rnday, elev2D=True, TS=True, UV=True)
from datetime import datetime
from pyschism.mesh import Hgrid
from pyschism.forcing.hycom.hycom2schism import Nudge
if __name__ == '__main__':
start_date = datetime(2022, 4, 1)
rnday = 10
hgrid = Hgrid.open('./hgrid.gr3', crs='epsg:4326')
vgrid = './vgrid.in'
outdir = './'
nudge=Nudge()
nudge.fetch_data(outdir, hgrid, vgrid, start_date, rnday)