Revision 223ee354d84d0615853e1d40cb597024a397f33b authored by catherinehardacre on 04 April 2024, 23:14:39 UTC, committed by catherinehardacre on 04 April 2024, 23:14:39 UTC
1 parent a91915e
Raw File
recipe_smpi_4cds.yml
# ESMValTool
# recipe_smpi_4cds.yml
---
documentation:
  title: Single Model Performance Index

  description: |
    Recipe for computing Single Model Performance Index. Follows Reichler
    and Kim 2008. Considers the following variables:
    Sea level pressure, Air Temperature, Zonal Wind Stress, Meridional Wind
    Stress, 2m air temperature, Zonal Wind, Meridional Wind, Net surface heat
    flux, Precipitation, Specific Humidity, Snow fraction, Sea Surface
    Temperature, Sea Ice Fraction and sea surface salinity.

  authors:
    - hassler_birgit
    - gier_bettina
    - righi_mattia
    - eyring_veronika

  maintainer:
    - hassler_birgit

  references:
    - rk2008bams

  projects:
    - crescendo
    - c3s-magic

datasets:
  - {dataset: ACCESS1-0, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: CanESM2, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: CMCC-CESM, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: CNRM-CM5, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: CNRM-CM5-2, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: GFDL-CM3, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: GFDL-ESM2G, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: GFDL-ESM2M, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: HadGEM2-CC, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: HadGEM2-ES, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: IPSL-CM5A-LR, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: IPSL-CM5A-MR, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: IPSL-CM5B-LR, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: MPI-ESM-MR, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: MPI-ESM-P, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: NorESM1-M, project: CMIP5, exp: historical, ensemble: r1i1p1}
  - {dataset: NorESM1-ME, project: CMIP5, exp: historical, ensemble: r1i1p1}


preprocessors:

  ppALL:
    extract_levels:
      levels: reference_dataset
      scheme: linear
    regrid:
      target_grid: reference_dataset
      scheme: linear
    mask_fillvalues:
      threshold_fraction: 0.10
    multi_model_statistics:
      span: overlap
      statistics: [mean]
      exclude: [reference_dataset]

  ppNOLEV:
    regrid:
      target_grid: reference_dataset
      scheme: linear
    mask_fillvalues:
      threshold_fraction: 0.10
    multi_model_statistics:
      span: overlap
      statistics: [mean]
      exclude: [reference_dataset]

  ppNOLEVirreg:
    regrid:
      target_grid: 1x1
      scheme: linear
    mask_fillvalues:
      threshold_fraction: 0.10
    multi_model_statistics:
      span: overlap
      statistics: [mean]
      exclude: [reference_dataset]

diagnostics:

  ta:
    description: Air temperature zonal mean
    themes:
      - phys
    realms:
      - atmos
    variables:
      ta: &variable_settings
        preprocessor: ppALL
        reference_dataset: ERA-Interim
        mip: Amon
        start_year: 1980
        end_year: 2005
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading: &grading_settings
        script: perfmetrics/main.ncl
        plot_type: cycle_zonal
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  va:
    description: Meridional Wind
    themes:
      - phys
    realms:
      - atmos
    variables:
      va:
        <<: *variable_settings
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_zonal
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  ua:
    description: Zonal Wind
    themes:
      - phys
    realms:
      - atmos
    variables:
      ua:
        <<: *variable_settings
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_zonal
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  hus:
    description: Near-surface temperature
    themes:
      - phys
    realms:
      - atmos
    variables:
      hus:
        <<: *variable_settings
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_zonal
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  tas:
    description: Near-surface temperature
    themes:
      - phys
    realms:
      - atmos
    variables:
      tas:
        <<: *variable_settings
        preprocessor: ppNOLEV
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_latlon
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  psl:
    description: Sea-level pressure
    themes:
      - phys
    realms:
      - atmos
    variables:
      psl:
        <<: *variable_settings
        preprocessor: ppNOLEV
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_latlon
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  pr:
    description: Precipitation
    themes:
      - phys
    realms:
      - atmos
    variables:
      pr:
        <<: *variable_settings
        preprocessor: ppNOLEV
        reference_dataset: GPCP-V2.2
    additional_datasets:
      - {dataset: GPCP-V2.2, project: obs4MIPs, level: L3, tier: 1}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_latlon
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  tos:
    description: Sea surface temperature
    themes:
      - phys
    realms:
      - ocean
    variables:
      tos:
        <<: *variable_settings
        preprocessor: ppNOLEVirreg
        reference_dataset: HadISST
        mip: Omon
    additional_datasets:
      - {dataset: HadISST, project: OBS, type: reanaly, version: 1, tier: 2}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_latlon
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  sic:
    description: Sea ice fraction
    themes:
      - phys
    realms:
      - seaIce
    variables:
      sic:
        <<: *variable_settings
        preprocessor: ppNOLEVirreg
        reference_dataset: HadISST
        mip: OImon
    additional_datasets:
      - {dataset: HadISST, project: OBS, type: reanaly, version: 1, tier: 2}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_latlon
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

#  hfds:
#    description: Net Surface Heat Flux
#    themes:
#      - phys
#    realms:
#      - ocean
#    variables:
#      hfds:
#        <<: *variable_settings
#        preprocessor: ppNOLEVirreg
#        mip: Omon
#    additional_datasets:
#      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
#    scripts:
#      grading:
#        script: perfmetrics/main.ncl
#        plot_type: cycle_latlon
#        time_avg: yearly
#        region: global
#        calc_grading: true
#        metric: [SMPI]
#        normalization: CMIP5
#        smpi_n_bootstrap: 100

  tauu:
    description: Zonal Wind Stress
    themes:
      - phys
    realms:
      - atmos
    variables:
      tauu:
        <<: *variable_settings
        preprocessor: ppNOLEV
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_latlon
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  tauv:
    description: Meridional Wind Stress
    themes:
      - phys
    realms:
      - atmos
    variables:
      tauv:
        <<: *variable_settings
        preprocessor: ppNOLEV
    additional_datasets:
      - {dataset: ERA-Interim, project: OBS6, type: reanaly, version: 1, tier: 3}
    scripts:
      grading:
        script: perfmetrics/main.ncl
        plot_type: cycle_latlon
        time_avg: yearly
        region: global
        calc_grading: true
        metric: [SMPI]
        normalization: CMIP5
        smpi_n_bootstrap: 100

  ### COLLECT METRICS ###################
  collect:
    description: Wrapper to collect and plot previously calculated metrics
    scripts:
      SMPI:
        script: perfmetrics/collect.ncl
        ancestors: ['*/grading']
        metric: SMPI
back to top