Static B training on individual variable

Hi,
The parameter “input variables” on the root level of yaml file in the static B training is no longer acceptable in fv3jedi after the recent updates for training on one variable at a time. Please advise on how the variable name(s) can be specified in the updated version for training on one variable at a time.

Thanks in advance!

Hi @xtian15. The variables that are trained are now the one specified when the background is read (by default). So you can read just the variables needed in the background. Another option is to specify active variables in SABER blocks: only these variables will be acted upon.

Hi, @benjaminmenetrier. Thanks for your response!
If I 1) change the state variables to [air_temperature] only or 2) have the full list of state variables but add an active

variables [air_temperature]

into the saber central block, I will be getting below in both cases.

Info     : Prepare ensemble configuration
Info     : Read full ensemble
Info     : Creating central block: BUMP_NICAS
Info     : MPI tasks:      12
Info     : OpenMP threads: 1
BUMP: inconsistent variable names

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   RANK 0 PID 3000114 RUNNING AT tomorrowbe-login.is-2.compute.internal
=   KILLED BY SIGNAL: 9 (Killed)

Do you happen to have a working example of nicas of one variable? Thanks!

Can you provide the whole yaml file? It will be easier to analyze. Thanks.

Definitely! Below please find the yaml file for the nicas implimentation. It’s basically the same as the test yaml (testinput/staticb_nicas_gfs.yaml) except for the changes into an one-variable case. Thanks!

geometry:
  fms initialization:
    namelist filename: Data/fv3files/fmsmpp.nml
    field table filename: Data/fv3files/field_table_gfdl
  akbk: Data/fv3files/akbk127.nc4
  layout: [1,2]
  npx: 13
  npy: 13
  npz: 127
  field metadata override: Data/fieldmetadata/gfs-restart.yaml
background:
  datetime: 2020-12-15T00:00:00Z
  filetype: fms restart
  state variables: [stream_function,velocity_potential,air_temperature,surface_pressure,specific_humidity,cloud_liquid_water,ozone_mass_mixing_ratio]
  #state variables: [air_temperature]
  psinfile: true
  datapath: Data/staticb/unbalanced/mem001
  filename_core: 20201215.000000.fv_core.res.nc
  filename_trcr: 20201215.000000.fv_tracer.res.nc
  filename_sfcd: 20201215.000000.sfc_data.nc
  filename_sfcw: 20201215.000000.fv_srf_wnd.res.nc
  filename_cplr: 20201215.000000.coupler.res
background error:
  covariance model: SABER
  saber central block:
    saber block name: BUMP_NICAS
    active variables: [air_temperature]
    calibration:
      io:
        data directory: Data/staticb
        files prefix: nicas_gfs_stream
      drivers:
        multivariate strategy: univariate
        read universe radius: true
        compute nicas: true
        write local nicas: true
        write global nicas: true
      nicas:
        resolution: 6
        interpolation type:
        - groups:
          - stream_function
          - velocity_potential
          - air_temperature
          - surface_pressure
          type: si
      grids:
      - model:
          variables:
          - stream_function
          - velocity_potential
          - air_temperature
          - specific_humidity
          - cloud_liquid_water
          - ozone_mass_mixing_ratio
        io:
          overriding universe radius file: cor_3D_gfs_universe_radius
      - model:
          variables:
          - surface_pressure
        io:
          overriding universe radius file: cor_2D_gfs_universe_radius
      input model files:
      - parameter: a
        component: 1
        file:
          set datetime on read: true
          datetime: 2020-12-15T00:00:00Z
          filetype: fms restart
          psinfile: true
          datapath: Data/staticb/
          filename_core: 20201215.000000.cor_a_1.fv_core.res.nc
          filename_trcr: 20201215.000000.cor_a_1.fv_tracer.res.nc
          filename_sfcd: 20201215.000000.cor_a_1.sfc_data.nc
          filename_sfcw: 20201215.000000.cor_a_1.fv_srf_wnd.res.nc
          filename_cplr: 20201215.000000.cor_a_1.coupler.res
      - parameter: a
        component: 2
        file:
          set datetime on read: true
          datetime: 2020-12-15T00:00:00Z
          filetype: fms restart
          psinfile: true
          datapath: Data/staticb/
          filename_core: 20201215.000000.cor_a_2.fv_core.res.nc
          filename_trcr: 20201215.000000.cor_a_2.fv_tracer.res.nc
          filename_sfcd: 20201215.000000.cor_a_2.sfc_data.nc
          filename_sfcw: 20201215.000000.cor_a_2.fv_srf_wnd.res.nc
          filename_cplr: 20201215.000000.cor_a_2.coupler.res
      - parameter: rh
        component: 1
        file:
          set datetime on read: true
          datetime: 2020-12-15T00:00:00Z
          filetype: fms restart
          psinfile: true
          datapath: Data/staticb/
          filename_core: 20201215.000000.cor_rh_1.fv_core.res.nc
          filename_trcr: 20201215.000000.cor_rh_1.fv_tracer.res.nc
          filename_sfcd: 20201215.000000.cor_rh_1.sfc_data.nc
          filename_sfcw: 20201215.000000.cor_rh_1.fv_srf_wnd.res.nc
          filename_cplr: 20201215.000000.cor_rh_1.coupler.res
      - parameter: rh
        component: 2
        file:
          set datetime on read: true
          datetime: 2020-12-15T00:00:00Z
          filetype: fms restart
          psinfile: true
          datapath: Data/staticb/
          filename_core: 20201215.000000.cor_rh_2.fv_core.res.nc
          filename_trcr: 20201215.000000.cor_rh_2.fv_tracer.res.nc
          filename_sfcd: 20201215.000000.cor_rh_2.sfc_data.nc
          filename_sfcw: 20201215.000000.cor_rh_2.fv_srf_wnd.res.nc
          filename_cplr: 20201215.000000.cor_rh_2.coupler.res
      - parameter: rv
        component: 1
        file:
          set datetime on read: true
          datetime: 2020-12-15T00:00:00Z
          filetype: fms restart
          psinfile: true
          datapath: Data/staticb/
          filename_core: 20201215.000000.cor_rv_1.fv_core.res.nc
          filename_trcr: 20201215.000000.cor_rv_1.fv_tracer.res.nc
          filename_sfcd: 20201215.000000.cor_rv_1.sfc_data.nc
          filename_sfcw: 20201215.000000.cor_rv_1.fv_srf_wnd.res.nc
          filename_cplr: 20201215.000000.cor_rv_1.coupler.res
      - parameter: rv
        component: 2
        file:
          set datetime on read: true
          datetime: 2020-12-15T00:00:00Z
          filetype: fms restart
          psinfile: true
          datapath: Data/staticb/
          filename_core: 20201215.000000.cor_rv_2.fv_core.res.nc
          filename_trcr: 20201215.000000.cor_rv_2.fv_tracer.res.nc
          filename_sfcd: 20201215.000000.cor_rv_2.sfc_data.nc
          filename_sfcw: 20201215.000000.cor_rv_2.fv_srf_wnd.res.nc
          filename_cplr: 20201215.000000.cor_rv_2.coupler.res
      output model files:
      - parameter: nicas_norm
        component: 1
        file:
          filetype: fms restart
          datapath: Data/staticb/
          filename_core: nicas_norm_1.fv_core.res.nc
          filename_trcr: nicas_norm_1.fv_tracer.res.nc
          filename_sfcd: nicas_norm_1.sfc_data.nc
          filename_sfcw: nicas_norm_1.fv_srf_wnd.res.nc
          filename_cplr: nicas_norm_1.coupler.res
      - parameter: nicas_norm
        component: 2
        file:
          filetype: fms restart
          datapath: Data/staticb/
          filename_core: nicas_norm_2.fv_core.res.nc
          filename_trcr: nicas_norm_2.fv_tracer.res.nc
          filename_sfcd: nicas_norm_2.sfc_data.nc
          filename_sfcw: nicas_norm_2.fv_srf_wnd.res.nc
          filename_cplr: nicas_norm_2.coupler.res

test:
  reference filename: testoutput/staticb_nicas_gfs.ref
  test output filename: testoutput/staticb_nicas_gfs.test.out

You should also remove unused variables from the model.variables section. For instance, the grids: section should look like:

      grids:
      - model:
          variables:
          - air_temperature
        io:
          overriding universe radius file: cor_3D_gfs_universe_radius
1 Like

Thanks for the suggestion! The script with only one variable is working now.