# Extra facets for native EMAC model output.

# Notes:
# - All facets can also be specified in the recipes. The values given here are
#   only defaults.
# - The facets ``channel`` and ``postproc_flag`` have to be specified in the
#   recipe if they are not given here and default DRS is used.
# - If ``raw_name`` is omitted and no derivation in the EMAC fix is given, the
#   CMOR short_name is used by default. To support single and multiple raw
#   names for a variable, ``raw_name`` can be given as str and list. In the
#   latter case, the prioritization is given by the order of the list; if
#   possible, use the first entry, if this is not present, use the second, etc.
#   This is particularly useful for variables where regular averages ("*_ave")
#   or conditional averages ("*_cav") exist. If other variables are desired,
#   e.g., "tm1_p39_cav", this has to be explicitly specified in the recipe
#   ("raw_name: tm1_p39_cav".)
# - Asterisks ("*") in the comments in list below refer to either "cav" or
#   "ave". "cav" is prioritized.
# - The channels given here are generalization and may not always be
#   applicable. In that case choose the channels with the appropriate variable
#   per recipe.
#

# A complete list of supported keys is given in the documentation (see
# ESMValCore/doc/quickstart/find_data.rst).
---

projects:
  EMAC:
    extra_facets:
      # Optional facets for every variable
      '*':
        '*':
          '*':
            postproc_flag: ''

      EMAC:
        # 1D/2D dynamical/meteorological variables
        '*':
          asr:  # ESMValCore-derivation
            channel: Amon
          awhea:  # non-CMOR variable
            raw_name: [awhea_cav, awhea_ave, awhea]
            channel: Omon
          clivi:
            raw_name: [xivi_cav, xivi_ave, xivi]
            channel: Amon
          clt:
            raw_name: [aclcov_cav, aclcov_ave, aclcov]
            raw_units: '1'
            channel: Amon
          clwvi:  # derived from xlvi_*, xivi_*
            channel: Amon
          co2mass:
            raw_name: [MP_CO2_cav, MP_CO2_ave, MP_CO2]
            channel: tracer_pdef_gp
          evspsbl:
            raw_name: [evap_cav, evap_ave, evap]
            channel: Amon
          hfls:
            raw_name: [ahfl_cav, ahfl_ave, ahfl]
            channel: Amon
          hfns:  # ESMValCore-derivation
            channel: Amon
          hfss:
            raw_name: [ahfs_cav, ahfs_ave, ahfs]
            channel: Amon
          hurs:
            raw_name: [rh_2m_cav, rh_2m_ave, rh_2m]
            raw_units: '1'
            channel: Amon
          lwcre:  # ESMValCore-derivation
            channel: Amon
          lwp:
            raw_name: [xlvi_cav, xlvi_ave, xlvi]
            channel: Amon
          netcre:  # ESMValCore-derivation
            channel: Amon
          od550aer:
            raw_name: [aot_opt_TOT_550_total_cav, aot_opt_TOT_550_total_ave, aot_opt_TOT_550_total]
            raw_units: '1'
            channel: AERmon
          pr:  # derived from aprl_*, aprc_*
            channel: Amon
          prc:
            raw_name: [aprc_cav, aprc_ave, aprc]
            channel: Amon
          prodlnox: # derived from NOxcg_*, NOxic_*
            channel: Amon
          prl:  # non-CMOR variable
            raw_name: [aprl_cav, aprl_ave, aprl]
            channel: Amon
          prsn:
            raw_name: [aprs_cav, aprs_ave, aprs]
            channel: Amon
          prw:
            raw_name: [qvi_cav, qvi_ave, qvi]
            channel: Amon
          ps:
            raw_name: [aps_cav, aps_ave, aps]
            channel: Amon
          psl:
            raw_name: [slp_cav, slp_ave, slp]
            channel: Amon
          rlds:  # derived from flxtbot_*, tradsu_*
            channel: Amon
          rlns:  # ESMValCore-derivation
            channel: Amon
          rlus:
            raw_name: [tradsu_cav, tradsu_ave, tradsu]
            channel: Amon
          rlut:
            raw_name: [flxttop_cav, flxttop_ave, flxttop]
            channel: Amon
          rlutcs:
            raw_name: [flxtftop_cav, flxtftop_ave, flxtftop]
            channel: Amon
          rsds:  # derived from flxsbot_*, sradsu_*
            channel: Amon
          rsdt:  # derived from flxstop_*, srad0u_*
            channel: Amon
          rsns:  # ESMValCore-derivation
            channel: Amon
          rsnt:  # ESMValCore-derivation
            channel: Amon
          rsus:
            raw_name: [sradsu_cav, sradsu_ave, sradsu]
            channel: Amon
          rsut:
            raw_name: [srad0u_cav, srad0u_ave, srad0u]
            channel: Amon
          rsutcs:
            raw_name: [flxusftop_cav, flxusftop_ave, flxusftop]
            channel: Amon
          rtmt:  # derived from flxttop_*, flxstop_*
            channel: Amon
          rtnt:  # ESMValCore-derivation
            channel: Amon
          sfcWind:
            raw_name: [wind10_cav, wind10_ave, wind10]
            channel: Amon
          siconc:
            raw_name: [seaice_cav, seaice_ave, seaice]
            raw_units: '1'
            channel: Amon
          siconca:
            raw_name: [seaice_cav, seaice_ave, seaice]
            raw_units: '1'
            channel: Amon
          sithick:
            raw_name: [siced_cav, siced_ave, siced]
            channel: Amon
          swcre:  # derived from CMIP variables rsut and rsutcs
            channel: Amon
          tas:
            raw_name: [temp2_cav, temp2_ave, temp2]
            channel: Amon
          tasmax:
            raw_name: temp2_max
            channel: Amon
          tasmin:
            raw_name: temp2_min
            channel: Amon
          tauu:
            raw_name: [ustr_cav, ustr_ave, ustr]
            channel: Amon
          tauv:
            raw_name: [vstr_cav, vstr_ave, vstr]
            channel: Amon
          tos:
            raw_name: tsw
            channel: g3b
          toz:
            channel: column
          ts:
            raw_name: [tsurf_cav, tsurf_ave, tsurf]
            channel: Amon
          uas:
            raw_name: [u10_cav, u10_ave, u10]
            channel: Amon
          vas:
            raw_name: [v10_cav, v10_ave, v10]
            channel: Amon

          # Tracers (non-CMOR variables)
          MP_BC_tot:  # derived from MP_BC_ks_*, MP_BC_as_*, MP_BC_cs_*, MP_BC_ki_*
            channel: tracer_pdef_gp
          MP_CFCl3:
            raw_name: [MP_CFCl3_cav, MP_CFCl3_ave, MP_CFCl3]
            channel: tracer_pdef_gp
          MP_ClOX:
            raw_name: [MP_ClOX_cav, MP_ClOX_ave, MP_ClOX]
            channel: tracer_pdef_gp
          MP_CH4:
            raw_name: [MP_CH4_cav, MP_CH4_ave, MP_CH4]
            channel: tracer_pdef_gp
          MP_CO:
            raw_name: [MP_CO_cav, MP_CO_ave, MP_CO]
            channel: tracer_pdef_gp
          MP_CO2:
            raw_name: [MP_CO2_cav, MP_CO2_ave, MP_CO2]
            channel: tracer_pdef_gp
          MP_DU_tot:  # derived from MP_DU_as_*, MP_DU_cs_*, MP_DU_ai_*, MP_DU_ci_*
            channel: tracer_pdef_gp
          MP_N2O:
            raw_name: [MP_N2O_cav, MP_N2O_ave, MP_N2O]
            channel: tracer_pdef_gp
          MP_NH3:
            raw_name: [MP_NH3_cav, MP_NH3_ave, MP_NH3]
            channel: tracer_pdef_gp
          MP_NO:
            raw_name: [MP_NO_cav, MP_NO_ave, MP_NO]
            channel: tracer_pdef_gp
          MP_NO2:
            raw_name: [MP_NO2_cav, MP_NO2_ave, MP_NO2]
            channel: tracer_pdef_gp
          MP_NOX:
            raw_name: [MP_NOX_cav, MP_NOX_ave, MP_NOX]
            channel: tracer_pdef_gp
          MP_O3:
            raw_name: [MP_O3_cav, MP_O3_ave, MP_O3]
            channel: tracer_pdef_gp
          MP_OH:
            raw_name: [MP_OH_cav, MP_OH_ave, MP_OH]
            channel: tracer_pdef_gp
          MP_S:
            raw_name: [MP_S_cav, MP_S_ave, MP_S]
            channel: tracer_pdef_gp
          MP_SO2:
            raw_name: [MP_SO2_cav, MP_SO2_ave, MP_SO2]
            channel: tracer_pdef_gp
          MP_SO4mm_tot:  # derived from MP_SO4mm_ns_*, MP_SO4mm_ks_*, MP_SO4mm_as_*, MP_SO4mm_cs_*
            channel: tracer_pdef_gp
          MP_SS_tot:  # derived from MP_SS_ks_*, MP_SS_as_*, MP_SS_cs_*
            channel: tracer_pdef_gp

          # 3D dynamical/meteorological variables
          cl:
            raw_name: [aclcac_cav, aclcac_ave, aclcac]
            raw_units: '1'
            channel: Amon
          cli:
            raw_name: [xim1_cav, xim1_ave, xim1]
            channel: Amon
          clw:
            raw_name: [xlm1_cav, xlm1_ave, xlm1]
            channel: Amon
          hur:
            raw_name: [rhum_cav, rhum_ave, rhum]
            channel: Amon
          hus:
            raw_name: [qm1_cav, qm1_ave, qm1]
            channel: Amon
          o3:
            raw_name: [O3_cav, O3_ave, O3]
            channel: Amon
          ta:
            raw_name: [tm1_cav, tm1_ave, tm1]
            channel: Amon
          tro3:
            raw_name: [O3_cav, O3_ave, O3]
            channel: Amon
          ua:
            raw_name: [um1_cav, um1_ave, um1]
            channel: Amon
          va:
            raw_name: [vm1_cav, vm1_ave, vm1]
            channel: Amon
          zg:
            raw_name: [geopot_cav, geopot_ave, geopot]
            channel: Amon
