From 8a8d576cdda12768ed15158b5fd9b6547338c3e6 Mon Sep 17 00:00:00 2001 From: Gerhard Theurich Date: Thu, 6 Jul 2023 12:35:25 -0700 Subject: [PATCH] Demonstrate the use of YAML anchor, alias, and merge key. --- AtmOcnMedIngestFromConfigProto/esmAppRun.yaml | 20 +++++++++++-------- ESMX_AtmOcnProto/esmxRun.yaml | 8 ++++++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/AtmOcnMedIngestFromConfigProto/esmAppRun.yaml b/AtmOcnMedIngestFromConfigProto/esmAppRun.yaml index 5b473103..0819f508 100644 --- a/AtmOcnMedIngestFromConfigProto/esmAppRun.yaml +++ b/AtmOcnMedIngestFromConfigProto/esmAppRun.yaml @@ -93,21 +93,25 @@ runSeq4: | @ #------------------------------------------------------------------------------- +generalAttributes: &general # YAML anchor + Verbosity: 4609 # decimal representation of explicit bit pattern + #------------------------------------------------------------------------------- # Attributes for components driverAttributes: - Verbosity: "4609" - Profiling: "0" + <<: *general # merge key with alias, brings in Verbosity +# Verbosity: 0 # still able to override Verbosity here + Profiling: 0 # Another way of specifying the ConnectionOptions Attribute for a Connector is # to explicitly set the Attribute here: MED-TO-ATM-Attributes: ConnectionOptions: :remapMethod=nearest_stod - Verbosity: "4609" # must explicitly quote this integer - Profiling: low # this is naturally a string - Diagnostic: "0" # again explicitly quote the zero - CustomSeq1: [1, 2, 3, 4] # sequence of integers - CustomSeq2: [1., 2., 3., 4.] # sequence of floats - CustomSeq3: [true, false] # sequence of bools + <<: *general # merge key with alias, brings in Verbosity + Profiling: low # pre-defined NUOPC setting + Diagnostic: 0 # explicit 0 turns OFF feature + CustomSeq1: [1, 2, 3, 4] # sequence of integers + CustomSeq2: [1., 2., 3., 4.] # sequence of floats + CustomSeq3: [true, false] # sequence of bools CustomType: {k1: [a, aa, aaa], k2: b, k3: c} # complex structure #------------------------------------------------------------------------------- diff --git a/ESMX_AtmOcnProto/esmxRun.yaml b/ESMX_AtmOcnProto/esmxRun.yaml index 0a9ac70a..c48df9c7 100644 --- a/ESMX_AtmOcnProto/esmxRun.yaml +++ b/ESMX_AtmOcnProto/esmxRun.yaml @@ -20,11 +20,15 @@ ESMX: OCN @ +attributes: &common # define an anchor so it can be used by multiple components + Verbosity: low # good default for Verbosity setting + ATM: model: Tawas # model value is case insensitive to match Fortran ompNumThreads: 4 attributes: - Verbosity: low + <<: *common # use the attributes map via an alias common + Verbosity: high # override the setting from common alias petList: [3, [2-0]] # petList is list of scalars and lists. # each list again can be of scalars and lists # recursively. @@ -33,4 +37,4 @@ OCN: model: lumo petList: [0-1, 3] attributes: - Verbosity: low + <<: *common