Source code for pycif.plugins.domains.chimere.create_domain

import os
from logging import info
import numpy as np
import shutil
from ....utils.path import init_dir
from .utils.make_hcoord import make_hcoord
from .utils.make_vcoord import make_vcoord
from .utils.make_landuse import make_landuse
from .utils.make_domainlist import make_domainlist


[docs] def create_domain(domain, **kwargs): """Generate and write CHIMERE coordinate files from YAML configuration. Creates the ``{workdir}/domain/`` directory tree and calls: * :func:`make_hcoord` — generates horizontal coordinate files (``COORD_{domid}`` and ``COORDcorner_{domid}``). * :func:`make_vcoord` — generates the vertical sigma-level file (``VCOORD_{nlev}_{p1}_{pmax}``). * :func:`make_landuse` — copies or generates the land-use file. * :func:`make_domainlist` — appends the new domain entry to ``domainlist.nml``. Args: domain: CHIMERE domain plugin instance with ``workdir``, ``type``, and all grid-geometry parameters set. **kwargs: unused. """ # Initialize domain folder where new files will be dumped init_dir(f"{domain.workdir}/domain") init_dir(f"{domain.workdir}/domain/VCOORD/") init_dir(f"{domain.workdir}/domain/LANDUSE/") # Generate HCOORD make_hcoord(domain) # Generate VCOORD make_vcoord(domain) # Make LANDUSE make_landuse(domain) # Update domainlist make_domainlist(domain)