Source code for pycif.plugins.domains.dummy.create_domain
import numpy as np
from ....utils.path import init_dir
[docs]
def create_domain(domain, **kwargs):
"""Creates a grid if needed
Args:
domain (dictionary): dictionary defining the domain.
Returns:
initialized domain
"""
nlon = domain.nlon
nlat = domain.nlat
lonc = np.linspace(domain.xmin, domain.xmax, nlon + 1)
latc = np.linspace(domain.ymin, domain.ymax, nlat + 1)
lon = 0.5 * (lonc[1:] + lonc[:-1])
lat = 0.5 * (latc[1:] + latc[:-1])
# Meshgrids
zlon, zlat = np.meshgrid(lon, lat)
zlonc, zlatc = np.meshgrid(lonc, latc)
domain.zlon = zlon
domain.zlat = zlat
domain.zlonc = zlonc
domain.zlatc = zlatc
# Dump coordinates for later use
init_dir("{}/domain".format(domain.workdir))
np.savetxt("{}/domain/lonc.txt".format(domain.workdir), lonc)
np.savetxt("{}/domain/latc.txt".format(domain.workdir), latc)
np.savetxt("{}/domain/lon.txt".format(domain.workdir), lon)
np.savetxt("{}/domain/lat.txt".format(domain.workdir), lat)