make_solo_mosaic

Note

The uwtools drivers are idempotent, meaning that actions they successfully complete during one invocation are not repeated in subsequent invocations. For example, an asset like a configuration file will not be recreated when the driver is run again, even if its UW YAML configuration changes. To force recreation, remove the asset(s) in question – up to and including the entire provisioned run directory – then re-run the driver, which will recreate any missing assets based on the current configuration.

The uw mode for configuring and running the UFS Utils preprocessing component make_solo_mosaic. Documentation for this UFS Utils component is here.

uw make_solo_mosaic --help
usage: uw make_solo_mosaic [-h] [--version] TASK ...

Execute make_solo_mosaic tasks

Optional arguments:
  -h, --help
      Show help and exit
  --version
      Show version info and exit

Positional arguments:
  TASK
    provisioned_rundir
      Run directory provisioned with all required content
    run
      A run
    runscript
      The runscript
    validate
      Validate the UW driver config

All tasks take the same arguments. For example:

uw make_solo_mosaic run --help
usage: uw make_solo_mosaic run [-h] [--version] [--config-file PATH] [--batch]
                               [--dry-run] [--graph-file PATH]
                               [--key-path KEY[.KEY...]] [--quiet] [--verbose]

A run

Optional arguments:
  -h, --help
      Show help and exit
  --version
      Show version info and exit
  --config-file PATH, -c PATH
      Path to UW YAML config file (default: read from stdin)
  --batch
      Submit run to batch scheduler
  --dry-run
      Only log info, making no changes
  --graph-file PATH
      Path to Graphviz DOT output [experimental]
  --key-path KEY[.KEY...]
      Dot-separated path of keys leading through the config to the driver's
      configuration block
  --quiet, -q
      Print no logging messages
  --verbose, -v
      Print all logging messages

Examples

The examples use a configuration file named config.yaml with contents similar to:

make_solo_mosaic:
  config:
    dir: /path/to/input
    num_tiles: 1
    mosaic_name: ocean_mosaic
    periodx: 360
    periody: 360
    tile_file: C403_grid.tile7.halo6.nc
  execution:
    batchargs:
      cores: 1
      walltime: "00:01:00"
    executable: /path/to/make_solo_mosaic.exe
  rundir: /path/to/rundir
platform:
  account: me
  scheduler: slurm

Its contents are described in section make_solo_mosaic.

  • Run make_solo_mosaic on an interactive node

    $ uw make_solo_mosaic run --config-file config.yaml
    

    The driver creates a runscript.make_solo_mosaic file in the directory specified by rundir: in the config and runs it, executing make_solo_mosaic.

  • Run make_solo_mosaic via a batch job

    $ uw make_solo_mosaic run --config-file config.yaml --batch
    

    The driver creates a runscript.make_solo_mosaic file in the directory specified by rundir: in the config and submits it to the batch system. Running with --batch requires a correctly configured platform: block in config.yaml, as well as appropriate settings in the execution: block under make_solo_mosaic:.

  • Specifying the --dry-run flag results in the driver logging messages about actions it would have taken, without actually taking any.

    $ uw make_solo_mosaic run --config-file config.yaml --batch --dry-run
    
  • The --key-path option can be used to navigate from the top of the config to the driver’s configuration block. For example, specifying --key-path foo.bar with config

    foo:
      bar:
        driver:
          # driver config block
    

    is equivalent to using config

    driver:
      # driver config block
    

    without specifying --key-path.