Skip to main content

NEMS configuration generation

Project description

NEMSpy

tests codecov build version license style

NEMSpy generates configuration files (nems.configure, config.rc, model_configure, atm_namelist.rc) for coupled modeling applications run with a compiled NEMS binary (not included).

NEMS implements the National Unified Operational Prediction Capability (NUOPC), and configuration files built for NEMS will also work for most NUOPC applications.

Usage:

from datetime import datetime, timedelta

from nemspy import ModelingSystem
from nemspy.model import ADCIRCEntry, AtmosphericMeshEntry, WaveMeshEntry

# model run time
start_time = datetime(2020, 6, 1)
duration = timedelta(days=1)
end_time = start_time + duration

# returning interval of main run sequence
interval = timedelta(hours=1)

# directory to which configuration files should be written
output_directory = '~/nems_configuration/'

# model entries
ocean_model = ADCIRCEntry(
    processors=11,
    Verbosity='max',
    DumpFields=False
)
atmospheric_mesh = AtmosphericMeshEntry(
    filename='~/wind_atm_fin_ch_time_vec.nc',
    processors=1
)
wave_mesh = WaveMeshEntry(
    filename='~/ww3.Constant.20151214_sxy_ike_date.nc',
    processors=1
)

# instantiate model system with model entries
nems = ModelingSystem(
    start_time=start_time,
    end_time=end_time,
    interval=interval,
    ocn=ocean_model,
    atm=atmospheric_mesh,
    wav=wave_mesh,
)

# form connections between models
nems.connect('ATM', 'OCN')
nems.connect('WAV', 'OCN')

# define execution order
nems.sequence = [
    'ATM -> OCN',
    'WAV -> OCN',
    'ATM',
    'WAV',
    'OCN',
]

# write configuration files to the given directory
nems.write(
    directory=output_directory,
    overwrite=True,
    include_version=True
)

Output:

nems.configure

# `nems.configure` generated with NEMSpy 0.5.0
# EARTH #
EARTH_component_list: ATM WAV OCN
EARTH_attributes::
  Verbosity = off
::

# ATM #
ATM_model:                      atmesh
ATM_petlist_bounds:             0 0
ATM_attributes::
  Verbosity = off
::

# WAV #
WAV_model:                      ww3data
WAV_petlist_bounds:             1 1
WAV_attributes::
  Verbosity = off
::

# OCN #
OCN_model:                      adcirc
OCN_petlist_bounds:             2 12
OCN_attributes::
  Verbosity = max
  DumpFields = false
::

# Run Sequence #
runSeq::
  @3600
    ATM -> OCN   :remapMethod=redist
    WAV -> OCN   :remapMethod=redist
    ATM
    WAV
    OCN
  @
::

model_configure

# `model_configure` generated with NEMSpy 0.5.0
total_member:            1
print_esmf:              .true.
namelist:                atm_namelist
PE_MEMBER01:             13
start_year:              2020
start_month:             6
start_day:               1
start_hour:              0
start_minute:            0
start_second:            0
nhours_fcst:             24
RUN_CONTINUE:            .false.
ENS_SPS:                 .false.

config.rc

# `config.rc` generated with NEMSpy 0.5.0
 atm_dir: ~
 atm_nam: wind_atm_fin_ch_time_vec.nc
 wav_dir: ~
 wav_nam: ww3.Constant.20151214_sxy_ike_date.nc

Related:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nemspy-0.6.14.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

nemspy-0.6.14-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file nemspy-0.6.14.tar.gz.

File metadata

  • Download URL: nemspy-0.6.14.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for nemspy-0.6.14.tar.gz
Algorithm Hash digest
SHA256 e82faa1deb87eac8ae879bda61ff02e54ddaa08e44fa12e70235e529922db3ba
MD5 d56ca42eb6898660492a136bb6110e82
BLAKE2b-256 c735109565fb5c0c51fc02f37c2220e7d04ca79a59bb5726308983f232e00da4

See more details on using hashes here.

Provenance

File details

Details for the file nemspy-0.6.14-py3-none-any.whl.

File metadata

  • Download URL: nemspy-0.6.14-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for nemspy-0.6.14-py3-none-any.whl
Algorithm Hash digest
SHA256 baa1b8935bfe25188d133d94a5dcc96b3d2b955eef8e4967e43c15df88cf53e4
MD5 00d58f16f2be653c6708e9d77e6fd76d
BLAKE2b-256 0c6403d77e5b3f575c869cbe7f0b8bc00ddfe7b02add81fd8bdb2df11339cc7d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page