Source code for fv3config.config.rundir

import logging
import os
from .namelist import config_to_namelist
from .._asset_list import write_assets_to_directory
from .._tables import update_diag_table_for_config
from .derive import get_current_date
from .nudging import update_config_for_nudging

logger = logging.getLogger("fv3config")


[docs]def write_run_directory(config, target_directory): """Write a run directory based on a configuration dictionary. Args: config (dict): a configuration dictionary target_directory (str): target directory, will be created if it does not exist """ logger.debug(f"Writing run directory to {target_directory}") if config["namelist"]["fv_core_nml"].get("nudge", False): update_config_for_nudging(config) write_assets_to_directory(config, target_directory) os.makedirs(os.path.join(target_directory, "RESTART"), exist_ok=True) current_date = get_current_date(config) update_diag_table_for_config( config, current_date, os.path.join(target_directory, "diag_table") ) config_to_namelist(config, os.path.join(target_directory, "input.nml"))