diff --git a/parm/aero/jcb-base.yaml.j2 b/parm/aero/jcb-base.yaml.j2 index 3563a8b71..64ca2b8ba 100644 --- a/parm/aero/jcb-base.yaml.j2 +++ b/parm/aero/jcb-base.yaml.j2 @@ -24,19 +24,74 @@ minimizer: DRPCG final_diagnostics_departures: anlmob final_prints_frequency: PT3H number_of_outer_loops: 1 -analysis_variables: [mass_fraction_of_sulfate_in_air, - mass_fraction_of_hydrophobic_black_carbon_in_air, - mass_fraction_of_hydrophilic_black_carbon_in_air, - mass_fraction_of_hydrophobic_organic_carbon_in_air, - mass_fraction_of_hydrophilic_organic_carbon_in_air, - mass_fraction_of_dust001_in_air, mass_fraction_of_dust002_in_air, - mass_fraction_of_dust003_in_air, mass_fraction_of_dust004_in_air, - mass_fraction_of_dust005_in_air, mass_fraction_of_sea_salt001_in_air, - mass_fraction_of_sea_salt002_in_air, mass_fraction_of_sea_salt003_in_air, - mass_fraction_of_sea_salt004_in_air] +{% set _analysis_vars = ['mass_fraction_of_sulfate_in_air', + 'mass_fraction_of_hydrophobic_black_carbon_in_air', + 'mass_fraction_of_hydrophilic_black_carbon_in_air', + 'mass_fraction_of_hydrophobic_organic_carbon_in_air', + 'mass_fraction_of_hydrophilic_organic_carbon_in_air', + 'mass_fraction_of_dust001_in_air', + 'mass_fraction_of_dust002_in_air', + 'mass_fraction_of_dust003_in_air', + 'mass_fraction_of_dust004_in_air', + 'mass_fraction_of_dust005_in_air', + 'mass_fraction_of_sea_salt001_in_air', + 'mass_fraction_of_sea_salt002_in_air', + 'mass_fraction_of_sea_salt003_in_air', + 'mass_fraction_of_sea_salt004_in_air'] %} +analysis_variables: {{ _analysis_vars }} # Model things # ------------ + +# Variables +aero_det_state_variables: {{ _analysis_vars + ['air_temperature', + 'air_pressure_thickness', + 'water_vapor_mixing_ratio_wrt_moist_air'] }} +aero_bmat_state_variables: {{ _analysis_vars + ['mass_fraction_of_sea_salt005_in_air'] }} + +# Increment variables: +aero_det_increment_variables: {{ _analysis_vars }} + +# Variable IO names +aero_field_io_names: + air_temperature: T + air_pressure_thickness: delp + water_vapor_mixing_ratio_wrt_moist_air: sphum + mass_fraction_of_sulfate_in_air: so4 + mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 + mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 + mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 + mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 + mass_fraction_of_dust001_in_air: dust1 + mass_fraction_of_dust002_in_air: dust2 + mass_fraction_of_dust003_in_air: dust3 + mass_fraction_of_dust004_in_air: dust4 + mass_fraction_of_dust005_in_air: dust5 + mass_fraction_of_sea_salt001_in_air: seas1 + mass_fraction_of_sea_salt002_in_air: seas2 + mass_fraction_of_sea_salt003_in_air: seas3 + mass_fraction_of_sea_salt004_in_air: seas4 + mass_fraction_of_sea_salt005_in_air: seas5 + slmsk: slmsk +aero_field_io_names_crtm: + air_temperature: T + air_pressure_thickness: delp + water_vapor_mixing_ratio_wrt_moist_air: sphum + mass_fraction_of_sulfate_in_air: so4 + mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 + mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 + mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 + mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 + mass_fraction_of_dust001_in_air: dust1 + mass_fraction_of_dust002_in_air: dust2 + mass_fraction_of_dust003_in_air: dust3 + mass_fraction_of_dust004_in_air: dust4 + mass_fraction_of_dust005_in_air: dust5 + mass_fraction_of_sea_salt001_in_air: seas2 + mass_fraction_of_sea_salt002_in_air: seas3 + mass_fraction_of_sea_salt003_in_air: seas4 + mass_fraction_of_sea_salt004_in_air: seas5 + # Geometry aero_layout_x: {{ layout_x | default(1, true) }} aero_layout_y: {{ layout_y | default(1, true) }} diff --git a/parm/atm/jcb-base.yaml.j2 b/parm/atm/jcb-base.yaml.j2 index d09aa9b85..14a11dab3 100644 --- a/parm/atm/jcb-base.yaml.j2 +++ b/parm/atm/jcb-base.yaml.j2 @@ -31,10 +31,110 @@ atmosphere_ninner_1: {{ NINNER_LOOP1 | default(2, true) }} atmosphere_grad_red_1: 1e-10 atmosphere_ninner_2: {{ NINNER_LOOP2 | default(4, true) }} atmosphere_grad_red_2: 1e-10 -analysis_variables: [eastward_wind,northward_wind,air_temperature,air_pressure_at_surface,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,snow_water,rain_water,graupel,ozone_mass_mixing_ratio] + +# Analysis variables +{% set _shared_vars = ['eastward_wind', + 'northward_wind', + 'air_temperature', + 'water_vapor_mixing_ratio_wrt_moist_air', + 'cloud_liquid_ice', + 'cloud_liquid_water'] %} +{% set _analysis_vars = _shared_vars + ['air_pressure_at_surface', + 'ozone_mass_mixing_ratio', + 'snow_water', + 'rain_water', + 'graupel'] %} +{% set _analysis_vars_molesO3 = _shared_vars + ['air_pressure_at_surface', + 'mole_fraction_of_ozone_in_air', + 'snow_water', + 'rain_water', + 'graupel'] %} +{% set _analysis_vars_noprecip = _shared_vars + ['air_pressure_at_surface', + 'ozone_mass_mixing_ratio'] %} +{% set _analysis_vars_molesO3_noprecip = _shared_vars + ['air_pressure_at_surface', + 'mole_fraction_of_ozone_in_air'] %} +{% set _fv3_increment_vars = _shared_vars + ['air_pressure_thickness', + 'layer_thickness', + 'ozone_mass_mixing_ratio', + 'snow_water', + 'rain_water', + 'graupel'] %} + +analysis_variables: {{ _analysis_vars }} # Model things # ------------ + +# State variables +atmosphere_det_state_variables: {{ _analysis_vars + ['geopotential_height_at_surface', + 'cloud_ice_number_concentration', + 'rain_number_concentration', + 'slmsk', + 'sheleg', + 'skin_temperature_at_surface', + 'vtype', + 'stype', + 'vfrac', + 'soilt', + 'soilm', + 'totalSnowDepthMeters', + 'eastward_wind_at_surface', + 'northward_wind_at_surface', + 'f10m', + 'air_pressure_thickness'] }} +atmosphere_jedi2fv3inc_state_variables: {{ _analysis_vars + ['geopotential_height_at_surface'] }} + +# Increment variables +atmosphere_det_increment_variables: {{ _analysis_vars }} +atmosphere_det_increment_variables_molesO3: {{ _analysis_vars_molesO3 }} +atmosphere_det_increment_variables_noprecip: {{ _analysis_vars_noprecip }} +atmosphere_det_increment_variables_molesO3_noprecip: {{ _analysis_vars_molesO3_noprecip }} +atmosphere_fv3_increment_variables: {{ _fv3_increment_vars }} + +# Variable IO names +atmosphere_background_field_io_names: + eastward_wind: ugrd + northward_wind: vgrd + air_temperature: tmp + layer_thickness: delz + air_pressure_thickness: dpres + air_pressure_at_surface: pressfc + water_vapor_mixing_ratio_wrt_moist_air: spfh + cloud_liquid_ice: icmr + cloud_liquid_water: clwmr + snow_water: snmr + rain_water: rwmr + graupel: grle + cloud_ice_number_concentration: nccice + rain_number_concentration: nconrd + ozone_mass_mixing_ratio: o3mr + geopotential_height_at_surface: hgtsfc + slmsk: land + sheleg: weasd + skin_temperature_at_surface: tmpsfc + stype: sotyp + vfrac: veg + totalSnowDepthMeters: snod + eastward_wind_at_surface: ugrd_hyblev1 + northward_wind_at_surface: vgrd_hyblev1 + soilm: soilw1 + soilt: soilt1 + soilMoistureVolumetric: smc +atmosphere_increment_field_io_names: + eastward_wind: u_inc + northward_wind: v_inc + air_temperature: T_inc + water_vapor_mixing_ratio_wrt_moist_air: sphum_inc + cloud_liquid_water: liq_wat_inc + ozone_mass_mixing_ratio: o3mr_inc + cloud_liquid_ice: icmr_inc + snow_water: snmr_inc + rain_water: rwmr_inc + graupel: grle_inc + air_pressure_thickness: delp_inc + layer_thickness: delz_inc + air_pressure_at_surface: pressfc_inc + # Geometry atmosphere_layout_x: {{ layout_x | default(1, true) }} atmosphere_layout_y: {{ layout_y | default(1, true) }} @@ -127,7 +227,24 @@ bias_files_dict: # ------------------------- local_ensemble_da_solver: Deterministic GETKF -increment_variables: [eastward_wind,northward_wind,layer_thickness,air_pressure_thickness,air_temperature,air_pressure_at_surface,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,snow_water,rain_water,graupel,ozone_mass_mixing_ratio] +{% set _increment_vars = _analysis_vars + ['air_pressure_thickness', + 'layer_thickness'] %} + +atmosphere_ens_state_variables: {{ _increment_vars + ['geopotential_height_at_surface', + 'cloud_ice_number_concentration', + 'rain_number_concentration', + 'slmsk', + 'sheleg', + 'skin_temperature_at_surface', + 'vtype', + 'stype', + 'vfrac', + 'soilt', + 'soilm', + 'totalSnowDepthMeters', + 'eastward_wind_at_surface', + 'northward_wind_at_surface', + 'f10m'] }} atm_enkfonly: {{ DOENKFONLY_ATM | default(false, true) }} diff --git a/parm/jcb-gdas/algorithm/aero/aero_addincrement.yaml.j2 b/parm/jcb-gdas/algorithm/aero/aero_addincrement.yaml.j2 index 895995ee4..9720889ab 100644 --- a/parm/jcb-gdas/algorithm/aero/aero_addincrement.yaml.j2 +++ b/parm/jcb-gdas/algorithm/aero/aero_addincrement.yaml.j2 @@ -24,13 +24,13 @@ increment geometry: field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml state: datetime: '{{ aero_background_time_iso }}' - state variables: {{ analysis_variables }} + state variables: {{ aero_det_increment_variables }} filetype: cube sphere history provider: ufs datapath: ./ filename: {{ aero_variational_history_prefix }}cubed_sphere_grid_atmf006.nc increment: - added variables: {{ analysis_variables }} + added variables: {{ aero_det_increment_variables }} filetype: fms restart datapath: ./ filename is datetime templated: true diff --git a/parm/jcb-gdas/algorithm/aero/aero_convert_background.yaml.j2 b/parm/jcb-gdas/algorithm/aero/aero_convert_background.yaml.j2 index 7b4d38c0e..eba04aee2 100644 --- a/parm/jcb-gdas/algorithm/aero/aero_convert_background.yaml.j2 +++ b/parm/jcb-gdas/algorithm/aero/aero_convert_background.yaml.j2 @@ -24,38 +24,8 @@ states: - input: datetime: '{{ aero_background_error_time_iso }}' filetype: fms restart - state variables: - - mass_fraction_of_sulfate_in_air - - mass_fraction_of_hydrophobic_black_carbon_in_air - - mass_fraction_of_hydrophilic_black_carbon_in_air - - mass_fraction_of_hydrophobic_organic_carbon_in_air - - mass_fraction_of_hydrophilic_organic_carbon_in_air - - mass_fraction_of_dust001_in_air - - mass_fraction_of_dust002_in_air - - mass_fraction_of_dust003_in_air - - mass_fraction_of_dust004_in_air - - mass_fraction_of_dust005_in_air - - mass_fraction_of_sea_salt001_in_air - - mass_fraction_of_sea_salt002_in_air - - mass_fraction_of_sea_salt003_in_air - - mass_fraction_of_sea_salt004_in_air - - mass_fraction_of_sea_salt005_in_air - field io names: - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas1 - mass_fraction_of_sea_salt002_in_air: seas2 - mass_fraction_of_sea_salt003_in_air: seas3 - mass_fraction_of_sea_salt004_in_air: seas4 - mass_fraction_of_sea_salt005_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + state variables: {{ aero_bmat_state_variables }} + field io names: {{ aero_field_io_names }} datapath: {{ aero_background_path }} filename_core: '{{ aero_background_error_time_fv3 }}.fv_core.res.nc' filename_trcr: '{{ aero_background_error_time_fv3 }}.fv_tracer.res.nc' @@ -66,19 +36,4 @@ states: filename_core: 'anlres.fv_core.res.nc' filename_trcr: 'anlres.fv_tracer.res.nc' filename_cplr: 'anlres.coupler.res' - field io names: - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas1 - mass_fraction_of_sea_salt002_in_air: seas2 - mass_fraction_of_sea_salt003_in_air: seas3 - mass_fraction_of_sea_salt004_in_air: seas4 - mass_fraction_of_sea_salt005_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + field io names: {{ aero_field_io_names }} diff --git a/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diagb.yaml.j2 b/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diagb.yaml.j2 index 62e88a91a..7abd7b88d 100644 --- a/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diagb.yaml.j2 +++ b/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diagb.yaml.j2 @@ -16,8 +16,7 @@ geometry: skip coupler file: true state variables: - slmsk - field io names: - slmsk: slmsk + field io names: {{ aero_field_io_names }} datapath: {{ aero_background_path }}/ filename_orog: {{ aero_orog_prefix }}_oro_data.nc filename_sfcd: {{ aero_background_error_time_fv3 }}.sfc_data.nc @@ -25,38 +24,8 @@ date: '{{ aero_background_error_time_iso }}' background: datetime: '{{ aero_background_error_time_iso }}' filetype: fms restart - state variables: - - mass_fraction_of_sulfate_in_air - - mass_fraction_of_hydrophobic_black_carbon_in_air - - mass_fraction_of_hydrophilic_black_carbon_in_air - - mass_fraction_of_hydrophobic_organic_carbon_in_air - - mass_fraction_of_hydrophilic_organic_carbon_in_air - - mass_fraction_of_dust001_in_air - - mass_fraction_of_dust002_in_air - - mass_fraction_of_dust003_in_air - - mass_fraction_of_dust004_in_air - - mass_fraction_of_dust005_in_air - - mass_fraction_of_sea_salt001_in_air - - mass_fraction_of_sea_salt002_in_air - - mass_fraction_of_sea_salt003_in_air - - mass_fraction_of_sea_salt004_in_air - - mass_fraction_of_sea_salt005_in_air - field io names: - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas1 - mass_fraction_of_sea_salt002_in_air: seas2 - mass_fraction_of_sea_salt003_in_air: seas3 - mass_fraction_of_sea_salt004_in_air: seas4 - mass_fraction_of_sea_salt005_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + state variables: {{ aero_bmat_state_variables }} + field io names: {{ aero_field_io_names }} datapath: {{ aero_background_path }} filename_core: '{{ aero_background_error_time_fv3 }}.anlres.fv_core.res.nc' filename_trcr: '{{ aero_background_error_time_fv3 }}.anlres.fv_tracer.res.nc' @@ -66,22 +35,7 @@ background error: datapath: {{ aero_standard_deviation_path }} filename_trcr: stddev.fv_tracer.res.nc filename_cplr: stddev.coupler.res - field io names: - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas1 - mass_fraction_of_sea_salt002_in_air: seas2 - mass_fraction_of_sea_salt003_in_air: seas3 - mass_fraction_of_sea_salt004_in_air: seas4 - mass_fraction_of_sea_salt005_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + field io names: {{ aero_field_io_names }} climate background error: geometry: fms initialization: @@ -100,42 +54,11 @@ climate background error: datapath: {{ aero_climatological_b_path }} filename_trcr: stddev.fv_tracer.res.nc filename_cplr: stddev.coupler.res - field io names: - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas1 - mass_fraction_of_sea_salt002_in_air: seas2 - mass_fraction_of_sea_salt003_in_air: seas3 - mass_fraction_of_sea_salt004_in_air: seas4 - mass_fraction_of_sea_salt005_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + field io names: {{ aero_field_io_names }} diagb weight: {{ aero_diagb_weight }} staticb rescaling factor: {{ aero_diagb_static_rescale_factor }} - variables: - name: - - mass_fraction_of_sulfate_in_air - - mass_fraction_of_hydrophobic_black_carbon_in_air - - mass_fraction_of_hydrophilic_black_carbon_in_air - - mass_fraction_of_hydrophobic_organic_carbon_in_air - - mass_fraction_of_hydrophilic_organic_carbon_in_air - - mass_fraction_of_dust001_in_air - - mass_fraction_of_dust002_in_air - - mass_fraction_of_dust003_in_air - - mass_fraction_of_dust004_in_air - - mass_fraction_of_dust005_in_air - - mass_fraction_of_sea_salt001_in_air - - mass_fraction_of_sea_salt002_in_air - - mass_fraction_of_sea_salt003_in_air - - mass_fraction_of_sea_salt004_in_air - - mass_fraction_of_sea_salt005_in_air + name: {{ aero_bmat_state_variables }} {% set rescaling_factor_file = aero_rescaling_factor_file|default(aero_gen_bmatrix_rescale_default) %} {% include rescaling_factor_file %} diff --git a/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diffusion.yaml.j2 b/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diffusion.yaml.j2 index d1eaa28e2..630bf9e29 100644 --- a/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diffusion.yaml.j2 +++ b/parm/jcb-gdas/algorithm/aero/aero_gen_bmatrix_diffusion.yaml.j2 @@ -13,38 +13,8 @@ date: '{{ aero_background_error_time_iso }}' background: datetime: '{{ aero_background_error_time_iso }}' filetype: fms restart - state variables: - - mass_fraction_of_sulfate_in_air - - mass_fraction_of_hydrophobic_black_carbon_in_air - - mass_fraction_of_hydrophilic_black_carbon_in_air - - mass_fraction_of_hydrophobic_organic_carbon_in_air - - mass_fraction_of_hydrophilic_organic_carbon_in_air - - mass_fraction_of_dust001_in_air - - mass_fraction_of_dust002_in_air - - mass_fraction_of_dust003_in_air - - mass_fraction_of_dust004_in_air - - mass_fraction_of_dust005_in_air - - mass_fraction_of_sea_salt001_in_air - - mass_fraction_of_sea_salt002_in_air - - mass_fraction_of_sea_salt003_in_air - - mass_fraction_of_sea_salt004_in_air - - mass_fraction_of_sea_salt005_in_air - field io names: - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas1 - mass_fraction_of_sea_salt002_in_air: seas2 - mass_fraction_of_sea_salt003_in_air: seas3 - mass_fraction_of_sea_salt004_in_air: seas4 - mass_fraction_of_sea_salt005_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + state variables: {{ aero_bmat_state_variables }} + field io names: {{ aero_field_io_names }} datapath: {{ aero_background_path }} filename_core: '{{ aero_background_error_time_fv3 }}.anlres.fv_core.res.nc' filename_trcr: '{{ aero_background_error_time_fv3 }}.anlres.fv_tracer.res.nc' diff --git a/parm/jcb-gdas/algorithm/atmosphere/atm_addincrement.yaml.j2 b/parm/jcb-gdas/algorithm/atmosphere/atm_addincrement.yaml.j2 index b11b3bdfc..8a9bec6c0 100644 --- a/parm/jcb-gdas/algorithm/atmosphere/atm_addincrement.yaml.j2 +++ b/parm/jcb-gdas/algorithm/atmosphere/atm_addincrement.yaml.j2 @@ -24,62 +24,16 @@ increment geometry: field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_fv3inc.yaml state: datetime: '{{ atmosphere_background_time_iso }}' - state variables: - - eastward_wind - - northward_wind - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - - air_pressure_thickness - - layer_thickness - field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr - air_pressure_thickness: dpres - layer_thickness: delz + state variables: {{ atmosphere_fv3_increment_variables }} + field io names: {{ atmosphere_background_field_io_names }} filetype: cube sphere history provider: ufs filename: {{ atmosphere_variational_history_prefix }}cubed_sphere_grid_atmf006.nc datapath: ./ max allowable geometry difference: 1e-4 increment: - added variables: - - eastward_wind - - northward_wind - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - - air_pressure_thickness - - layer_thickness - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_ice: icmr_inc - cloud_liquid_water: liq_wat_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - ozone_mass_mixing_ratio: o3mr_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + added variables: {{ atmosphere_fv3_increment_variables }} + field io names: {{ atmosphere_increment_field_io_names }} filetype: fms restart is restart: false filename_nonrestart: {{ atmosphere_variational_analysis_prefix }}cubed_sphere_grid_atminc.nc @@ -88,16 +42,4 @@ output: filetype: auxgrid gridtype: gaussian filename: atmanl. - field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr - air_pressure_thickness: dpres - layer_thickness: delz + field io names: {{ atmosphere_background_field_io_names }} diff --git a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_correction_increment.yaml.j2 b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_correction_increment.yaml.j2 index 170392af0..223adbb2a 100644 --- a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_correction_increment.yaml.j2 +++ b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_correction_increment.yaml.j2 @@ -1,16 +1,4 @@ -increment variables: -- cloud_liquid_water -- layer_thickness -- air_pressure_thickness -- cloud_liquid_ice -- snow_water -- rain_water -- graupel -- ozone_mass_mixing_ratio -- water_vapor_mixing_ratio_wrt_moist_air -- air_temperature -- eastward_wind -- northward_wind +increment variables: {{ atmosphere_fv3_increment_variables }} deterministic background geometry: fms initialization: namelist filename: ./fv3jedi/fmsmpp.nml @@ -64,37 +52,13 @@ forecast hours: datapath: ./ filename: {{ atmosphere_variational_history_prefix }}cubed_sphere_grid_atmf{{ '%03d' % atmosphere_iau_hours[ihour] }}.nc max allowable geometry difference: 1e-04 - field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr - air_pressure_thickness: dpres - layer_thickness: delz + field io names: {{ atmosphere_background_field_io_names }} variational increment: filetype: fms restart is restart: false datapath: ./ filename_nonrestart: {{ atmosphere_variational_analysis_prefix }}cubed_sphere_grid_atmi{{ '%03d' % atmosphere_iau_hours[ihour] }}.nc - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_ice: icmr_inc - cloud_liquid_water: liq_wat_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - ozone_mass_mixing_ratio: o3mr_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + field io names: {{ atmosphere_increment_field_io_names }} ensemble mean analysis: filetype: cube sphere history provider: ufs @@ -105,17 +69,5 @@ forecast hours: provider: ufs datapath: ./ filename: {{ atmosphere_ensemble_analysis_prefix }}cubed_sphere_grid_catmi{{ '%03d' % atmosphere_iau_hours[ihour] }}.nc - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_ice: icmr_inc - cloud_liquid_water: liq_wat_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - ozone_mass_mixing_ratio: o3mr_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + field io names: {{ atmosphere_increment_field_io_names }} {% endfor %} diff --git a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_ensemble_recenter.yaml.j2 b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_ensemble_recenter.yaml.j2 index f71b855ad..57ce10297 100644 --- a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_ensemble_recenter.yaml.j2 +++ b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_ensemble_recenter.yaml.j2 @@ -25,64 +25,16 @@ members: npz: {{ atmosphere_npz_anl }} state: datetime: '{{ atmosphere_iau_times_iso[ihour] }}' - state variables: - - eastward_wind - - northward_wind - - air_temperature - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - - air_pressure_thickness - - layer_thickness - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_ice: icmr_inc - cloud_liquid_water: liq_wat_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - ozone_mass_mixing_ratio: o3mr_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + state variables: {{ atmosphere_fv3_increment_variables }} + field io names: {{ atmosphere_increment_field_io_names }} filetype: cube sphere history provider: ufs datapath: ./ filename: {{ atmosphere_ensemble_analysis_prefix }}cubed_sphere_grid_catmi{{ '%03d' % atmosphere_iau_hours[ihour] }}.nc max allowable geometry difference: 1e-4 increment: - added variables: - - eastward_wind - - northward_wind - - air_temperature - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - - air_pressure_thickness - - layer_thickness - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_ice: icmr_inc - cloud_liquid_water: liq_wat_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - ozone_mass_mixing_ratio: o3mr_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + added variables: {{ atmosphere_fv3_increment_variables }} + field io names: {{ atmosphere_increment_field_io_names }} filetype: cube sphere history provider: ufs datapath: ./mem{{ '%0{}d'.format(3)|format(imember+1) }} @@ -92,18 +44,6 @@ members: is restart: false datapath: ./mem{{ '%0{}d'.format(3)|format(imember+1) }} filename_nonrestart: {{ atmosphere_ensemble_analysis_prefix }}cubed_sphere_grid_ratmi{{ '%03d' % atmosphere_iau_hours[ihour] }}.nc - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_ice: icmr_inc - cloud_liquid_water: liq_wat_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - ozone_mass_mixing_ratio: o3mr_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + field io names: {{ atmosphere_increment_field_io_names }} {% endfor %} {% endfor %} diff --git a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_lgetkf.yaml.j2 b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_lgetkf.yaml.j2 index 9cf1fb727..333a34352 100644 --- a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_lgetkf.yaml.j2 +++ b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_lgetkf.yaml.j2 @@ -1,44 +1,9 @@ variable change: variable change name: Model2GeoVaLs - input variables: &bkgvars - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - - geopotential_height_at_surface - output variables: &fv3incrvars - - eastward_wind - - northward_wind - - air_temperature - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - - air_pressure_thickness - - layer_thickness -jedi increment variables: -- eastward_wind -- northward_wind -- air_temperature -- air_pressure_at_surface -- water_vapor_mixing_ratio_wrt_moist_air -- cloud_liquid_ice -- cloud_liquid_water -- snow_water -- rain_water -- graupel -- ozone_mass_mixing_ratio -fv3 increment variables: *fv3incrvars + input variables: {{ atmosphere_jedi2fv3inc_state_variables }} + output variables: {{ atmosphere_fv3_increment_variables }} +jedi increment variables: {{ atmosphere_det_increment_variables }} +fv3 increment variables: {{ atmosphere_fv3_increment_variables }} background geometry: fms initialization: namelist filename: ./fv3jedi/fmsmpp.nml @@ -83,26 +48,12 @@ members from template: - {{ atmosphere_ensemble_history_prefix }}cubed_sphere_grid_sfcf006.nc max allowable geometry difference: 1e-4 datetime: '{{ atmosphere_background_time_iso }}' - state variables: *bkgvars - field io names: &field_io_names - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - layer_thickness: delz - air_pressure_thickness: dpres - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr - geopotential_height_at_surface: hgtsfc + state variables: {{ atmosphere_jedi2fv3inc_state_variables }} + field io names: {{ atmosphere_background_field_io_names }} jedi increment input: filetype: cube sphere history provider: ufs - field io names: *field_io_names + field io names: {{ atmosphere_increment_field_io_names }} datapath: ./anl/mem%mem% filename: cubed_sphere_grid_atminc.jedi.nc fv3 increment output: @@ -116,19 +67,7 @@ members from template: filename: {{ atmosphere_ensemble_analysis_prefix }}cubed_sphere_grid_atminc.nc {% endif %} datapath: ./anl/mem%mem% - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_water: liq_wat_inc - ozone_mass_mixing_ratio: o3mr_inc - cloud_liquid_ice: icmr_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + field io names: {{ atmosphere_increment_field_io_names }} pattern: '%mem%' nmembers: {{ atmosphere_number_ensemble_members }} zero padding: 3 diff --git a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_variational.yaml.j2 b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_variational.yaml.j2 index 437efbac5..123ef067b 100644 --- a/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_variational.yaml.j2 +++ b/parm/jcb-gdas/algorithm/atmosphere/fv3jedi_fv3inc_variational.yaml.j2 @@ -1,44 +1,9 @@ variable change: variable change name: Model2GeoVaLs - input variables: &bkgvars - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - ozone_mass_mixing_ratio - - snow_water - - rain_water - - graupel - - geopotential_height_at_surface - output variables: &fv3incrvars - - eastward_wind - - northward_wind - - air_temperature - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - - air_pressure_thickness - - layer_thickness -jedi increment variables: -- eastward_wind -- northward_wind -- air_temperature -- air_pressure_at_surface -- water_vapor_mixing_ratio_wrt_moist_air -- cloud_liquid_ice -- cloud_liquid_water -- snow_water -- rain_water -- graupel -- ozone_mass_mixing_ratio -fv3 increment variables: *fv3incrvars + input variables: {{ atmosphere_jedi2fv3inc_state_variables }} + output variables: {{ atmosphere_fv3_increment_variables }} +jedi increment variables: {{ atmosphere_det_increment_variables }} +fv3 increment variables: {{ atmosphere_fv3_increment_variables }} background geometry: fms initialization: namelist filename: ./fv3jedi/fmsmpp.nml @@ -94,26 +59,12 @@ members: - {{ atmosphere_variational_history_prefix }}cubed_sphere_grid_atmf006.nc - {{ atmosphere_variational_history_prefix }}cubed_sphere_grid_sfcf006.nc max allowable geometry difference: 1e-4 - state variables: *bkgvars - field io names: &field_io_names - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - layer_thickness: delz - air_pressure_thickness: dpres - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr - geopotential_height_at_surface: hgtsfc + state variables: {{ atmosphere_jedi2fv3inc_state_variables }} + field io names: {{ atmosphere_background_field_io_names }} jedi increment input: filetype: cube sphere history provider: ufs - field io names: *field_io_names + field io names: {{ atmosphere_increment_field_io_names }} datapath: ./anl filename: cubed_sphere_grid_atminc.jedi.nc fv3 increment output: @@ -127,19 +78,7 @@ members: datapath: ./anl filename_nonrestart: {{ atmosphere_variational_analysis_prefix }}cubed_sphere_grid_atminc.nc {% endif %} - field io names: - eastward_wind: u_inc - northward_wind: v_inc - air_temperature: T_inc - water_vapor_mixing_ratio_wrt_moist_air: sphum_inc - cloud_liquid_water: liq_wat_inc - ozone_mass_mixing_ratio: o3mr_inc - cloud_liquid_ice: icmr_inc - snow_water: snmr_inc - rain_water: rwmr_inc - graupel: grle_inc - air_pressure_thickness: delp_inc - layer_thickness: delz_inc + field io names: {{ atmosphere_increment_field_io_names }} # Optionally test the application {% if do_testing | default(false) %} test: diff --git a/parm/jcb-gdas/algorithm/snow/fv3jedi_land_ensrecenter.yaml.j2 b/parm/jcb-gdas/algorithm/snow/fv3jedi_land_ensrecenter.yaml.j2 index 5d1eb1630..715e39993 100644 --- a/parm/jcb-gdas/algorithm/snow/fv3jedi_land_ensrecenter.yaml.j2 +++ b/parm/jcb-gdas/algorithm/snow/fv3jedi_land_ensrecenter.yaml.j2 @@ -10,8 +10,7 @@ geometry: npy: {{ npy_ges }} npz: {{ npz_ges }} date: "{{ snow_background_time_iso }}" -variables: -- totalSnowDepth +variables: {{ snow_det_increment_variables }} increment mask: variable: - slmsk @@ -33,10 +32,8 @@ increment mask: deterministic increment: datetime: "{{ snow_increment_time_iso }}" filetype: fms restart - state variables: - - totalSnowDepth - field io names: - totalSnowDepth: snodl + state variables: {{ snow_det_increment_variables }} + field io names: {{ snow_field_io_names }} datapath: ./inc/det_ensres filename is datetime templated: true filename_core: "snowinc.%yyyy%mm%dd.%hh%MM%ss.fv_core.res.nc" @@ -48,10 +45,8 @@ deterministic increment: deterministic background: datetime: "{{ snow_background_time_iso }}" filetype: fms restart - state variables: - - totalSnowDepth - field io names: - totalSnowDepth: snodl + state variables: {{ snow_det_increment_variables }} + field io names: {{ snow_field_io_names }} datapath: ./bkg/det_ensres filename is datetime templated: true filename_core: "%yyyy%mm%dd.%hh%MM%ss.fv_core.res.nc" @@ -65,8 +60,7 @@ output increment: datapath: ./inc/ensmean datetime: "{{ snow_increment_time_iso }}" filetype: fms restart - field io names: - totalSnowDepth: snodl + field io names: {{ snow_field_io_names }} prefix: snowinc filename_core: "{{ snow_increment_time_fv3 }}.fv_core.res.nc" filename_trcr: "{{ snow_increment_time_fv3 }}.fv_tracer.res.nc" @@ -80,10 +74,8 @@ ensemble backgrounds: template: datetime: "{{ snow_background_time_iso }}" filetype: fms restart - state variables: - - totalSnowDepth - field io names: - totalSnowDepth: snodl + state variables: {{ snow_det_increment_variables }} + field io names: {{ snow_field_io_names }} datapath: ./bkg/mem%mem% filename is datetime templated: true filename_core: "%yyyy%mm%dd.%hh%MM%ss.fv_core.res.nc" diff --git a/parm/jcb-gdas/algorithm/snow/fv3jedi_snow_ensmean.yaml.j2 b/parm/jcb-gdas/algorithm/snow/fv3jedi_snow_ensmean.yaml.j2 index 9bd29e33a..c460ecf1f 100644 --- a/parm/jcb-gdas/algorithm/snow/fv3jedi_snow_ensmean.yaml.j2 +++ b/parm/jcb-gdas/algorithm/snow/fv3jedi_snow_ensmean.yaml.j2 @@ -11,35 +11,15 @@ mean output: filename_sfcd: sfc_data.nc filename_sfcw: fv_srf_wnd.res.nc filename_cplr: coupler.res - state variables: - - totalSnowDepth - - vtype - - slmsk - - filtered_orography - - stc - - sheleg - - fraction_of_ice - field io names: - totalSnowDepth: snodl - filtered_orography: orog_filt - fraction_of_ice: fice + state variables: {{ snow_ensmean_state_variables }} + field io names: {{ snow_field_io_names }} ensemble: members from template: template: datetime: '{{ snow_background_time_iso }}' filetype: fms restart - state variables: - - totalSnowDepth - - vtype - - slmsk - - filtered_orography - - stc - - sheleg - - fraction_of_ice - field io names: - totalSnowDepth: snodl - filtered_orography: orog_filt - fraction_of_ice: fice + state variables: {{ snow_ensmean_state_variables }} + field io names: {{ snow_field_io_names }} datapath: ./bkg/mem%mem%/ filename_sfcd: '{{ snow_background_time_fv3 }}.sfc_data.nc' filename_cplr: '{{ snow_background_time_fv3 }}.coupler.res' diff --git a/parm/jcb-gdas/algorithm/snow/snow_addincrement.yaml.j2 b/parm/jcb-gdas/algorithm/snow/snow_addincrement.yaml.j2 index 1ac692e0d..58c4628ae 100644 --- a/parm/jcb-gdas/algorithm/snow/snow_addincrement.yaml.j2 +++ b/parm/jcb-gdas/algorithm/snow/snow_addincrement.yaml.j2 @@ -24,13 +24,13 @@ increment geometry: field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml state: datetime: '{{ snow_background_time_iso }}' - state variables: {{ analysis_variables }} + state variables: {{ snow_det_increment_variables }} filetype: cube sphere history provider: ufs datapath: ./ filename: {{ snow_variational_history_prefix }}cubed_sphere_grid_sfcf006.nc increment: - added variables: {{ analysis_variables }} + added variables: {{ snow_det_increment_variables }} filetype: fms restart datapath: ./ filename is datetime templated: true diff --git a/parm/jcb-gdas/algorithm/snow/snow_ims_scf_preprocess.yaml.j2 b/parm/jcb-gdas/algorithm/snow/snow_ims_scf_preprocess.yaml.j2 index 7d5f4e9e0..181b08136 100644 --- a/parm/jcb-gdas/algorithm/snow/snow_ims_scf_preprocess.yaml.j2 +++ b/parm/jcb-gdas/algorithm/snow/snow_ims_scf_preprocess.yaml.j2 @@ -17,8 +17,7 @@ geometry: datetime: '{{ snow_background_time_iso }}' state variables: - filtered_orography - field io names: - filtered_orography: orog_filt + field io names: {{ snow_field_io_names }} filename_sfcd: '{{ snow_background_time_fv3 }}.sfc_data.nc' filename_cplr: '{{ snow_background_time_fv3 }}.coupler.res' filename_orog: '{{ snow_orog_prefix }}_oro_data.nc' @@ -26,15 +25,7 @@ date: '{{ snow_background_time_iso }}' output ioda file: '{{snow_obsdatain_path}}/{{snow_obsdatain_prefix}}ims_snow.tm00.nc' input scf file: './obs/ims{{ snow_background_time_julian }}_4km_v1.3.{{ ims_scf_obs_suffix }}' mapping file: './obs/IMS4km_to_FV3_mapping.{{ snow_orog_prefix }}_oro_data.nc' -variables: -- totalSnowDepth -- vtype -- slmsk -- sheleg -- filtered_orography -- fraction_of_ice -- fraction_of_land -- stc +variables: {{ snow_det_state_variables }} background: {% filter indent(width=2) %} {% set background_file = background_file|default(model_component ~ 'background', true) ~ '.yaml.j2' %} diff --git a/parm/jcb-gdas/algorithm/soil/soil_addincrement.yaml.j2 b/parm/jcb-gdas/algorithm/soil/soil_addincrement.yaml.j2 index d6f01865f..37b15f13e 100644 --- a/parm/jcb-gdas/algorithm/soil/soil_addincrement.yaml.j2 +++ b/parm/jcb-gdas/algorithm/soil/soil_addincrement.yaml.j2 @@ -21,30 +21,17 @@ increment geometry: npx: {{ soil_npx_anl }} npy: {{ soil_npy_anl }} npz: {{ soil_npz_anl }} -# field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_fv3inc.yaml state: - state variables: - - soilMoistureVolumetric - - stc - - totalSnowDepth - - sheleg - - vtype - - slmsk - - fraction_of_ice - field io names: - totalSnowDepth: snodl - soilMoistureVolumetric: smc - fraction_of_ice: fice + state variables: {{ soil_det_increment_variables }} + field io names: {{ soil_field_io_names }} datapath: ./bkg filetype: fms restart skip coupler file: true datetime: '{{ soil_background_time_iso }}' filename_sfcd: {{ soil_background_time_fv3 }}.sfc_data.nc increment: - added variables: - - soilMoistureVolumetric - field io names: - soilMoistureVolumetric: smc + added variables: {{ soil_det_increment_variables }} + field io names: {{ soil_field_io_names }} datapath: ./anl filetype: fms restart skip coupler file: true @@ -60,15 +47,5 @@ output: filename is datetime templated: true datetime: '{{ soil_background_time_iso }}' filename_sfcd: {{ soil_background_time_fv3 }}.sfc_data.nc - state variables: - - soilMoistureVolumetric - - stc - - totalSnowDepth - - sheleg - - vtype - - slmsk - - fraction_of_ice - field io names: - soilMoistureVolumetric: smc - totalSnowDepth: snodl - fraction_of_ice: fice + state variables: {{ soil_addincrement_state_variables }} + field io names: {{ soil_field_io_names }} diff --git a/parm/jcb-gdas/model/aero/aero_background.yaml.j2 b/parm/jcb-gdas/model/aero/aero_background.yaml.j2 index daf6d4ef8..946655fc7 100644 --- a/parm/jcb-gdas/model/aero/aero_background.yaml.j2 +++ b/parm/jcb-gdas/model/aero/aero_background.yaml.j2 @@ -5,39 +5,5 @@ filename is datetime templated: true filename_core: '%yyyy%mm%dd.%hh%MM%ss.fv_core.res.nc' filename_trcr: '%yyyy%mm%dd.%hh%MM%ss.fv_tracer.res.nc' filename_cplr: '%yyyy%mm%dd.%hh%MM%ss.coupler.res' -state variables: -- air_temperature -- air_pressure_thickness -- water_vapor_mixing_ratio_wrt_moist_air -- mass_fraction_of_sulfate_in_air -- mass_fraction_of_hydrophobic_black_carbon_in_air -- mass_fraction_of_hydrophilic_black_carbon_in_air -- mass_fraction_of_hydrophobic_organic_carbon_in_air -- mass_fraction_of_hydrophilic_organic_carbon_in_air -- mass_fraction_of_dust001_in_air -- mass_fraction_of_dust002_in_air -- mass_fraction_of_dust003_in_air -- mass_fraction_of_dust004_in_air -- mass_fraction_of_dust005_in_air -- mass_fraction_of_sea_salt001_in_air -- mass_fraction_of_sea_salt002_in_air -- mass_fraction_of_sea_salt003_in_air -- mass_fraction_of_sea_salt004_in_air -field io names: - air_temperature: T - air_pressure_thickness: delp - water_vapor_mixing_ratio_wrt_moist_air: sphum - mass_fraction_of_sulfate_in_air: so4 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas2 - mass_fraction_of_sea_salt002_in_air: seas3 - mass_fraction_of_sea_salt003_in_air: seas4 - mass_fraction_of_sea_salt004_in_air: seas5 +state variables: {{ aero_det_state_variables }} +field io names: {{ aero_field_io_names_crtm }} diff --git a/parm/jcb-gdas/model/aero/aero_background_error_static_diffusion.yaml.j2 b/parm/jcb-gdas/model/aero/aero_background_error_static_diffusion.yaml.j2 index cb29115f3..e925226ca 100644 --- a/parm/jcb-gdas/model/aero/aero_background_error_static_diffusion.yaml.j2 +++ b/parm/jcb-gdas/model/aero/aero_background_error_static_diffusion.yaml.j2 @@ -3,21 +3,7 @@ saber central block: saber block name: diffusion read: groups: - - variables: - - mass_fraction_of_sulfate_in_air - - mass_fraction_of_hydrophobic_black_carbon_in_air - - mass_fraction_of_hydrophilic_black_carbon_in_air - - mass_fraction_of_hydrophobic_organic_carbon_in_air - - mass_fraction_of_hydrophilic_organic_carbon_in_air - - mass_fraction_of_dust001_in_air - - mass_fraction_of_dust002_in_air - - mass_fraction_of_dust003_in_air - - mass_fraction_of_dust004_in_air - - mass_fraction_of_dust005_in_air - - mass_fraction_of_sea_salt001_in_air - - mass_fraction_of_sea_salt002_in_air - - mass_fraction_of_sea_salt003_in_air - - mass_fraction_of_sea_salt004_in_air + - variables: {{ aero_det_increment_variables }} horizontal: filepath: "{{aero_berror_data_directory}}/diffusion_hz" vertical: @@ -36,18 +22,4 @@ saber outer blocks: filename_trcr: '{{ aero_cycle_time_fv3 }}.stddev.fv_tracer.res.nc' filename_cplr: '{{ aero_cycle_time_fv3 }}.stddev.coupler.res' date: "{{ aero_cycle_time_iso }}" - field io names: - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas2 - mass_fraction_of_sea_salt002_in_air: seas3 - mass_fraction_of_sea_salt003_in_air: seas4 - mass_fraction_of_sea_salt004_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + field io names: {{ aero_field_io_names_crtm }} diff --git a/parm/jcb-gdas/model/aero/aero_final_increment_cubed_sphere.yaml.j2 b/parm/jcb-gdas/model/aero/aero_final_increment_cubed_sphere.yaml.j2 index 74c96986b..b1f8acfb8 100644 --- a/parm/jcb-gdas/model/aero/aero_final_increment_cubed_sphere.yaml.j2 +++ b/parm/jcb-gdas/model/aero/aero_final_increment_cubed_sphere.yaml.j2 @@ -17,39 +17,5 @@ output: filename_core: '{{ aero_cycle_time_fv3 }}.fv_core.res.nc' filename_trcr: '{{ aero_cycle_time_fv3 }}.fv_tracer.res.nc' filename_cplr: '{{ aero_cycle_time_fv3 }}.coupler.res' - state variables: - - air_temperature - - air_pressure_thickness - - water_vapor_mixing_ratio_wrt_moist_air - - mass_fraction_of_sulfate_in_air - - mass_fraction_of_hydrophobic_black_carbon_in_air - - mass_fraction_of_hydrophilic_black_carbon_in_air - - mass_fraction_of_hydrophobic_organic_carbon_in_air - - mass_fraction_of_hydrophilic_organic_carbon_in_air - - mass_fraction_of_dust001_in_air - - mass_fraction_of_dust002_in_air - - mass_fraction_of_dust003_in_air - - mass_fraction_of_dust004_in_air - - mass_fraction_of_dust005_in_air - - mass_fraction_of_sea_salt001_in_air - - mass_fraction_of_sea_salt002_in_air - - mass_fraction_of_sea_salt003_in_air - - mass_fraction_of_sea_salt004_in_air - field io names: - air_temperature: T - air_pressure_thickness: delp - water_vapor_mixing_ratio_wrt_moist_air: sphum - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas2 - mass_fraction_of_sea_salt002_in_air: seas3 - mass_fraction_of_sea_salt003_in_air: seas4 - mass_fraction_of_sea_salt004_in_air: seas5 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_sulfate_in_air: so4 + state variables: {{ aero_det_state_variables }} + field io names: {{ aero_field_io_names_crtm }} diff --git a/parm/jcb-gdas/model/aero/aero_final_increment_gaussian.yaml.j2 b/parm/jcb-gdas/model/aero/aero_final_increment_gaussian.yaml.j2 index 87f0b689f..d75a42111 100644 --- a/parm/jcb-gdas/model/aero/aero_final_increment_gaussian.yaml.j2 +++ b/parm/jcb-gdas/model/aero/aero_final_increment_gaussian.yaml.j2 @@ -3,21 +3,7 @@ local interpolator type: atlas interpolator interpolation method: type: finite-element number of latitude gridpoints: {{ aero_npy_anl - 1 }} -variables to output: -- mass_fraction_of_sulfate_in_air -- mass_fraction_of_hydrophobic_black_carbon_in_air -- mass_fraction_of_hydrophilic_black_carbon_in_air -- mass_fraction_of_hydrophobic_organic_carbon_in_air -- mass_fraction_of_hydrophilic_organic_carbon_in_air -- mass_fraction_of_dust001_in_air -- mass_fraction_of_dust002_in_air -- mass_fraction_of_dust003_in_air -- mass_fraction_of_dust004_in_air -- mass_fraction_of_dust005_in_air -- mass_fraction_of_sea_salt001_in_air -- mass_fraction_of_sea_salt002_in_air -- mass_fraction_of_sea_salt003_in_air -- mass_fraction_of_sea_salt004_in_air +variables to output: {{ aero_det_increment_variables }} all model levels: true datapath: {{ aero_analysis_path }} prefix: aeroinc_gauss diff --git a/parm/jcb-gdas/model/aero/aero_model_pseudo.yaml.j2 b/parm/jcb-gdas/model/aero/aero_model_pseudo.yaml.j2 index a5c879a5b..be816a127 100644 --- a/parm/jcb-gdas/model/aero/aero_model_pseudo.yaml.j2 +++ b/parm/jcb-gdas/model/aero/aero_model_pseudo.yaml.j2 @@ -7,40 +7,6 @@ filename_trcr: '%yyyy%mm%dd.%hh%MM%ss.fv_tracer.res.nc' filename_sfcd: '%yyyy%mm%dd.%hh%MM%ss.sfc_data.nc' filename_sfcw: '%yyyy%mm%dd.%hh%MM%ss.fv_srf_wnd.res.nc' filename_cplr: '%yyyy%mm%dd.%hh%MM%ss.coupler.res' -state variables: -- air_temperature -- air_pressure_thickness -- water_vapor_mixing_ratio_wrt_moist_air -- mass_fraction_of_sulfate_in_air -- mass_fraction_of_hydrophobic_black_carbon_in_air -- mass_fraction_of_hydrophilic_black_carbon_in_air -- mass_fraction_of_hydrophobic_organic_carbon_in_air -- mass_fraction_of_hydrophilic_organic_carbon_in_air -- mass_fraction_of_dust001_in_air -- mass_fraction_of_dust002_in_air -- mass_fraction_of_dust003_in_air -- mass_fraction_of_dust004_in_air -- mass_fraction_of_dust005_in_air -- mass_fraction_of_sea_salt001_in_air -- mass_fraction_of_sea_salt002_in_air -- mass_fraction_of_sea_salt003_in_air -- mass_fraction_of_sea_salt004_in_air -field io names: - air_temperature: T - air_pressure_thickness: delp - water_vapor_mixing_ratio_wrt_moist_air: sphum - mass_fraction_of_sulfate_in_air: so4 - mass_fraction_of_hydrophobic_black_carbon_in_air: bc1 - mass_fraction_of_hydrophilic_black_carbon_in_air: bc2 - mass_fraction_of_hydrophobic_organic_carbon_in_air: oc1 - mass_fraction_of_hydrophilic_organic_carbon_in_air: oc2 - mass_fraction_of_dust001_in_air: dust1 - mass_fraction_of_dust002_in_air: dust2 - mass_fraction_of_dust003_in_air: dust3 - mass_fraction_of_dust004_in_air: dust4 - mass_fraction_of_dust005_in_air: dust5 - mass_fraction_of_sea_salt001_in_air: seas2 - mass_fraction_of_sea_salt002_in_air: seas3 - mass_fraction_of_sea_salt003_in_air: seas4 - mass_fraction_of_sea_salt004_in_air: seas5 +state variables: {{ aero_det_state_variables }} +field io names: {{ aero_field_io_names_crtm }} tstep: {{aero_forecast_timestep}} diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_background.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_background.yaml.j2 index f5a10238a..fe49b95b7 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_background.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_background.yaml.j2 @@ -6,58 +6,5 @@ filenames: - {{ atmosphere_variational_history_prefix }}cubed_sphere_grid_atmf006.nc - {{ atmosphere_variational_history_prefix }}cubed_sphere_grid_sfcf006.nc max allowable geometry difference: 1e-4 -state variables: -- eastward_wind -- northward_wind -- air_temperature -- air_pressure_thickness -- air_pressure_at_surface -- water_vapor_mixing_ratio_wrt_moist_air -- cloud_liquid_ice -- cloud_liquid_water -- snow_water -- rain_water -- graupel -- cloud_ice_number_concentration -- rain_number_concentration -- ozone_mass_mixing_ratio -- geopotential_height_at_surface -- slmsk -- sheleg -- skin_temperature_at_surface -- vtype -- stype -- vfrac -- soilt -- soilm -- totalSnowDepthMeters -- eastward_wind_at_surface -- northward_wind_at_surface -- f10m -field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - layer_thickness: delz - air_pressure_thickness: dpres - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - cloud_ice_number_concentration: nccice - rain_number_concentration: nconrd - ozone_mass_mixing_ratio: o3mr - geopotential_height_at_surface: hgtsfc - slmsk: land - sheleg: weasd - skin_temperature_at_surface: tmpsfc - stype: sotyp - vfrac: veg - totalSnowDepthMeters: snod - eastward_wind_at_surface: ugrd_hyblev1 - northward_wind_at_surface: vgrd_hyblev1 - soilm: soilw1 - soilt: soilt1 +state variables: {{ atmosphere_det_state_variables }} +field io names: {{ atmosphere_background_field_io_names }} diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_background_ensemble.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_background_ensemble.yaml.j2 index a9e96487c..b6bdb28e6 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_background_ensemble.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_background_ensemble.yaml.j2 @@ -4,62 +4,8 @@ members from template: datetime: '{{ atmosphere_background_time_iso }}' filetype: cube sphere history provider: ufs - state variables: - - eastward_wind - - northward_wind - - air_temperature - - layer_thickness - - air_pressure_thickness - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - cloud_ice_number_concentration - - rain_number_concentration - - ozone_mass_mixing_ratio - - geopotential_height_at_surface - - slmsk - - sheleg - - skin_temperature_at_surface - - vtype - - stype - - vfrac - - soilt - - soilm - - totalSnowDepthMeters - - eastward_wind_at_surface - - northward_wind_at_surface - - f10m - field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - layer_thickness: delz - air_pressure_thickness: dpres - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - cloud_ice_number_concentration: nccice - rain_number_concentration: nconrd - ozone_mass_mixing_ratio: o3mr - geopotential_height_at_surface: hgtsfc - slmsk: land - sheleg: weasd - skin_temperature_at_surface: tmpsfc - stype: sotyp - vfrac: veg - totalSnowDepthMeters: snod - eastward_wind_at_surface: ugrd_hyblev1 - northward_wind_at_surface: vgrd_hyblev1 - soilm: soilw1 - soilt: soilt1 + state variables: {{ atmosphere_ens_state_variables }} + field io names: {{ atmosphere_background_field_io_names }} datapath: {{ atmosphere_background_ensemble_path }} filename is datetime templated: true filenames: diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_hybrid_gsibec_bump.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_hybrid_gsibec_bump.yaml.j2 index 2218d2ad5..fa75955b8 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_hybrid_gsibec_bump.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_hybrid_gsibec_bump.yaml.j2 @@ -28,35 +28,11 @@ components: local interpolator type: oops unstructured grid interpolator inverse interpolator: local interpolator type: oops unstructured grid interpolator - state variables to inverse: [eastward_wind,northward_wind,air_temperature,air_pressure_at_surface, - water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water, - snow_water,rain_water,graupel,ozone_mass_mixing_ratio] + state variables to inverse: {{ atmosphere_det_increment_variables }} linear variable change: linear variable change name: Control2Analysis - input variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - mole_fraction_of_ozone_in_air - output variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio + input variables: {{ atmosphere_det_increment_variables_molesO3 }} + output variables: {{ atmosphere_det_increment_variables }} weight: value: 0.125 - covariance: @@ -66,30 +42,8 @@ components: datetime: "{{ atmosphere_background_time_iso }}" filetype: cube sphere history provider: ufs - state variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr + state variables: {{ atmosphere_det_increment_variables }} + field io names: {{ atmosphere_background_field_io_names }} datapath: {{ atmosphere_background_ensemble_path }} filename is datetime templated: true filenames: @@ -103,18 +57,7 @@ components: localization method: SABER saber central block: saber block name: BUMP_NICAS - active variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio + active variables: {{ atmosphere_det_increment_variables }} read: general: universe length-scale: 4641.0e3 @@ -263,29 +206,7 @@ components: value: 1.8 linear variable change: linear variable change name: Control2Analysis - input variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - output variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio + input variables: {{ atmosphere_det_increment_variables }} + output variables: {{ atmosphere_det_increment_variables }} weight: value: 0.875 diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_static_gsibec.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_static_gsibec.yaml.j2 index 10b5a5007..5e66178ee 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_static_gsibec.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_background_error_static_gsibec.yaml.j2 @@ -26,26 +26,8 @@ saber outer blocks: local interpolator type: oops unstructured grid interpolator inverse interpolator: local interpolator type: oops unstructured grid interpolator - state variables to inverse: [eastward_wind,northward_wind,air_temperature,air_pressure_at_surface, - water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water, - ozone_mass_mixing_ratio] + state variables to inverse: {{ atmosphere_det_increment_variables_noprecip }} linear variable change: linear variable change name: Control2Analysis - input variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - mole_fraction_of_ozone_in_air - output variables: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - ozone_mass_mixing_ratio + input variables: {{ atmosphere_det_increment_variables_molesO3_noprecip }} + output variables: {{ atmosphere_det_increment_variables_noprecip }} diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_cubed_sphere.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_cubed_sphere.yaml.j2 index a80494337..d2eef5bc8 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_cubed_sphere.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_cubed_sphere.yaml.j2 @@ -3,30 +3,8 @@ output: filetype: cube sphere history filename: ./anl/cubed_sphere_grid_atminc.jedi.nc provider: ufs - fields to write: - - eastward_wind - - northward_wind - - air_temperature - - air_pressure_at_surface - - water_vapor_mixing_ratio_wrt_moist_air - - cloud_liquid_ice - - cloud_liquid_water - - snow_water - - rain_water - - graupel - - ozone_mass_mixing_ratio - field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr + fields to write: {{ atmosphere_det_increment_variables }} + field io names: {{ atmosphere_increment_field_io_names }} geometry: fms initialization: namelist filename: "{{atmosphere_fv3jedi_files_path}}/fmsmpp.nml" diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_fms_nonrestart.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_fms_nonrestart.yaml.j2 index efac27abe..e88573d69 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_fms_nonrestart.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_fms_nonrestart.yaml.j2 @@ -3,7 +3,8 @@ output: filetype: fms restart is restart: false filename_nonrestart: ./anl/cubed_sphere_grid_atminc.jedi.nc - fields to write: [ua,va,t,ps,sphum,ice_wat,liq_wat,o3mr] + fields to write: {{ atmosphere_det_increment_variables }} + field io names: {{ atmosphere_increment_field_io_names }} geometry: fms initialization: namelist filename: "{{atmosphere_fv3jedi_files_path}}/fmsmpp.nml" diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_gaussian.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_gaussian.yaml.j2 index 414aa0bd6..7367f5899 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_gaussian.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_final_increment_gaussian.yaml.j2 @@ -3,15 +3,7 @@ output: filetype: auxgrid gridtype: gaussian filename: {{atmosphere_final_increment_prefix}} - field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - ozone_mass_mixing_ratio: o3mr + field io names: {{ atmosphere_increment_field_io_names }} geometry: fms initialization: namelist filename: "{{atmosphere_fv3jedi_files_path}}/fmsmpp.nml" diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_model_pseudo.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_model_pseudo.yaml.j2 index 74af652ba..1f57dbc0d 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_model_pseudo.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_model_pseudo.yaml.j2 @@ -8,25 +8,4 @@ filename_sfcd: '%yyyy%mm%dd.%hh%MM%ss.sfc_data.nc' filename_sfcw: '%yyyy%mm%dd.%hh%MM%ss.fv_srf_wnd.res.nc' filename_cplr: '%yyyy%mm%dd.%hh%MM%ss.coupler.res' tstep: {{atmosphere_forecast_timestep}} -field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - layer_thickness: delz - air_pressure_thickness: dpres - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - ozone_mass_mixing_ratio: o3mr - geopotential_height_at_surface: hgtsfc - slmsk: land - sheleg: weasd - skin_temperature_at_surface: tmpsfc - stype: sotyp - vfrac: veg - totalSnowDepthMeters: snod - eastward_wind_at_surface: ugrd_hyblev1 - northward_wind_at_surface: vgrd_hyblev1 - soilm: soilw1 - soilt: soilt1 +field io names: {{ atmosphere_background_field_io_names }} diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_cubed_sphere.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_cubed_sphere.yaml.j2 index 7f159e380..ebd85ac11 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_cubed_sphere.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_cubed_sphere.yaml.j2 @@ -1,15 +1,4 @@ filetype: cube sphere history provider: ufs filename: ./anl/mem%{member}%/cubed_sphere_grid_atminc.jedi.nc -field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - snow_water: snmr - rain_water: rwmr - graupel: grle - ozone_mass_mixing_ratio: o3mr +field io names: {{ atmosphere_background_field_io_names }} diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_gaussian.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_gaussian.yaml.j2 index 6d3d3b2af..c29420b4a 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_gaussian.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_output_ensemble_increments_gaussian.yaml.j2 @@ -1,12 +1,4 @@ filetype: auxgrid gridtype: gaussian filename: {{atmosphere_ensemble_increment_prefix}} -field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - ozone_mass_mixing_ratio: o3mr +field io names: {{ atmosphere_background_field_io_names }} diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_cubed_sphere.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_cubed_sphere.yaml.j2 index aa72fc7e3..9eedeb17b 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_cubed_sphere.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_cubed_sphere.yaml.j2 @@ -1,5 +1,3 @@ filetype: cube sphere history provider: ufs -ufs soil nlev: 4 -ufs fields split by level: [smc,stc] filename: ./anl/{{ atmosphere_ensemble_analysis_prefix }}cubed_sphere_grid_atmanl.ensmean.nc diff --git a/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_gaussian.yaml.j2 b/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_gaussian.yaml.j2 index a14180d5f..402ecb4b8 100644 --- a/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_gaussian.yaml.j2 +++ b/parm/jcb-gdas/model/atmosphere/atmosphere_posterior_output_gaussian.yaml.j2 @@ -1,12 +1,4 @@ filetype: auxgrid gridtype: gaussian filename: {{atmosphere_posterior_output_gaussian}} -field io names: - eastward_wind: ugrd - northward_wind: vgrd - air_temperature: tmp - air_pressure_at_surface: pressfc - water_vapor_mixing_ratio_wrt_moist_air: spfh - cloud_liquid_ice: icmr - cloud_liquid_water: clwmr - ozone_mass_mixing_ratio: o3mr +field io names: {{ atmosphere_background_field_io_names }} diff --git a/parm/jcb-gdas/model/marine/marine_background.yaml.j2 b/parm/jcb-gdas/model/marine/marine_background.yaml.j2 index 4be1f74fc..eabf1b23b 100644 --- a/parm/jcb-gdas/model/marine/marine_background.yaml.j2 +++ b/parm/jcb-gdas/model/marine/marine_background.yaml.j2 @@ -3,18 +3,4 @@ basename: {{ marine_background_path}} ocn_filename: MOM.res.nc ice_filename: cice.res.nc date: "{{ marine_background_time }}" -state variables: -- sea_ice_area_fraction -- sea_ice_thickness -- sea_ice_snow_thickness -- snow_ice_surface_temperature -- air_temperature -- bulk_ice_salinity -- sea_water_salinity -- sea_water_potential_temperature -#- eastward_sea_water_velocity -#- northward_sea_water_velocity -- sea_surface_height_above_geoid -- sea_water_cell_thickness -- ocean_mixed_layer_thickness -- sea_water_depth +state variables: {{ marine_det_state_variables }} diff --git a/parm/jcb-gdas/model/marine/marine_background_ensemble.yaml.j2 b/parm/jcb-gdas/model/marine/marine_background_ensemble.yaml.j2 index 911cf80ac..dbf968065 100644 --- a/parm/jcb-gdas/model/marine/marine_background_ensemble.yaml.j2 +++ b/parm/jcb-gdas/model/marine/marine_background_ensemble.yaml.j2 @@ -5,6 +5,6 @@ members from template: ice_filename: "ice.%mem%.nc" read_from_file: 1 basename: {{ marine_enspert_relpath }}/ens/ - state variables: [sea_water_salinity, sea_water_potential_temperature, sea_surface_height_above_geoid, sea_water_cell_thickness, eastward_sea_water_velocity, northward_sea_water_velocity, sea_ice_area_fraction] + state variables: {{ marine_ens_state_variables }} pattern: '%mem%' nmembers: {{ marine_number_ensemble_members }} diff --git a/parm/jcb-gdas/model/marine/marine_background_error_hybrid_diffusion_diffusion.yaml.j2 b/parm/jcb-gdas/model/marine/marine_background_error_hybrid_diffusion_diffusion.yaml.j2 index 6ff6713a4..ad6f2bcf7 100644 --- a/parm/jcb-gdas/model/marine/marine_background_error_hybrid_diffusion_diffusion.yaml.j2 +++ b/parm/jcb-gdas/model/marine/marine_background_error_hybrid_diffusion_diffusion.yaml.j2 @@ -7,11 +7,7 @@ components: saber block name: diffusion read: groups: - - variables: - - sea_water_potential_temperature - - sea_water_salinity - - sea_surface_height_above_geoid - - sea_ice_area_fraction + - variables: {{ marine_saber_central_block_variables }} horizontal: filepath: ./staticb/hz_ocean vertical: @@ -34,24 +30,8 @@ components: ice_filename: 'ice.bkgerr_parametric_stddev.nc' read_from_file: 3 linear variable change: - input variables: - - sea_ice_area_fraction - - sea_ice_thickness - - sea_ice_snow_thickness - - sea_water_salinity - - sea_water_potential_temperature - #- eastward_sea_water_velocity - #- northward_sea_water_velocity - - sea_surface_height_above_geoid - output variables: - - sea_ice_area_fraction - - sea_ice_thickness - - sea_ice_snow_thickness - - sea_water_salinity - - sea_water_potential_temperature - #- eastward_sea_water_velocity - #- northward_sea_water_velocity - - sea_surface_height_above_geoid + input variables: {{ marine_det_increment_variables }} + output variables: {{ marine_det_increment_variables }} linear variable changes: - linear variable change name: BalanceSOCA weight: @@ -68,7 +48,7 @@ components: basename: ../ensdata/ ocn_filename: ocn.pert.%mem%.nc ice_filename: ice.pert.%mem%.nc - state variables: + state variables: # TODO(David): This variable list could be centralized in jcb-base.yaml.j2 - sea_water_potential_temperature - sea_water_salinity #- eastward_sea_water_velocity @@ -86,11 +66,7 @@ components: saber block name: diffusion read: groups: - - variables: - - sea_water_potential_temperature - - sea_water_salinity - - sea_surface_height_above_geoid - - sea_ice_area_fraction + - variables: {{ marine_saber_central_block_variables }} multivariate strategy: duplicated horizontal: filepath: ./staticb/hz_ocean diff --git a/parm/jcb-gdas/model/marine/marine_background_error_static_diffusion.yaml.j2 b/parm/jcb-gdas/model/marine/marine_background_error_static_diffusion.yaml.j2 index 0d663c57f..4f0dad733 100644 --- a/parm/jcb-gdas/model/marine/marine_background_error_static_diffusion.yaml.j2 +++ b/parm/jcb-gdas/model/marine/marine_background_error_static_diffusion.yaml.j2 @@ -4,11 +4,7 @@ saber central block: saber block name: diffusion read: groups: - - variables: - - sea_water_potential_temperature - - sea_water_salinity - - sea_surface_height_above_geoid - - sea_ice_area_fraction + - variables: {{ marine_saber_central_block_variables }} horizontal: filepath: ./staticb/hz_ocean vertical: @@ -50,23 +46,7 @@ saber outer blocks: # load model: /work/noaa/da/gvernier/ai/runs/antarctic.pt linear variable change: - input variables: - - sea_ice_area_fraction - - sea_ice_thickness - - sea_ice_snow_thickness - - sea_water_salinity - - sea_water_potential_temperature - #- eastward_sea_water_velocity - #- northward_sea_water_velocity - - sea_surface_height_above_geoid - output variables: - - sea_ice_area_fraction - - sea_ice_thickness - - sea_ice_snow_thickness - - sea_water_salinity - - sea_water_potential_temperature - #- eastward_sea_water_velocity - #- northward_sea_water_velocity - - sea_surface_height_above_geoid + input variables: {{ marine_det_increment_variables }} + output variables: {{ marine_det_increment_variables }} linear variable changes: - linear variable change name: BalanceSOCA diff --git a/parm/jcb-gdas/model/snow/snow_3dvar_outer_loop_1.yaml.j2 b/parm/jcb-gdas/model/snow/snow_3dvar_outer_loop_1.yaml.j2 index 53085b711..a6bca5695 100644 --- a/parm/jcb-gdas/model/snow/snow_3dvar_outer_loop_1.yaml.j2 +++ b/parm/jcb-gdas/model/snow/snow_3dvar_outer_loop_1.yaml.j2 @@ -20,9 +20,7 @@ state variables: - filtered_orography - fraction_of_land - field io names: - filtered_orography: orog_filt - fraction_of_land: land_frac + field io names: {{ snow_field_io_names }} datapath: {{ snow_orog_files_path }}/ filename_orog: {{ snow_orog_prefix }}_oro_data.nc diagnostics: diff --git a/parm/jcb-gdas/model/snow/snow_background.yaml.j2 b/parm/jcb-gdas/model/snow/snow_background.yaml.j2 index 1f1ccb57b..8676c5ca8 100644 --- a/parm/jcb-gdas/model/snow/snow_background.yaml.j2 +++ b/parm/jcb-gdas/model/snow/snow_background.yaml.j2 @@ -2,20 +2,8 @@ datapath: {{ snow_background_path }} filetype: fms restart skip coupler file: true datetime: '{{ snow_background_time_iso }}' -state variables: -- totalSnowDepth -- vtype -- slmsk -- sheleg -- filtered_orography -- fraction_of_ice -- fraction_of_land -- stc -field io names: - totalSnowDepth: snodl - filtered_orography: orog_filt - fraction_of_ice: fice - fraction_of_land: land_frac +state variables: {{ snow_det_state_variables }} +field io names: {{ snow_field_io_names }} filename_sfcd: '{{ snow_background_time_fv3 }}.sfc_data.nc' filename_cplr: '{{ snow_background_time_fv3 }}.coupler.res' filename_orog: '{{ snow_orog_prefix }}_oro_data.nc' diff --git a/parm/jcb-gdas/model/snow/snow_final_increment_fms.yaml.j2 b/parm/jcb-gdas/model/snow/snow_final_increment_fms.yaml.j2 index 7c9e13e23..0d1cb6996 100644 --- a/parm/jcb-gdas/model/snow/snow_final_increment_fms.yaml.j2 +++ b/parm/jcb-gdas/model/snow/snow_final_increment_fms.yaml.j2 @@ -5,12 +5,8 @@ output: filetype: fms restart filename_sfcd: '{{ snow_background_time_fv3 }}.sfc_data.nc' filename_cplr: '{{ snow_background_time_fv3 }}.coupler.res' - state variables: - - totalSnowDepth - - vtype - - slmsk - field io names: - totalSnowDepth: snodl + state variables: {{ snow_det_increment_variables_final }} + field io names: {{ snow_field_io_names }} geometry: fms initialization: namelist filename: "{{ snow_fv3jedi_files_path }}/fmsmpp.nml" diff --git a/parm/jcb-gdas/model/soil/soil_3dvar_outer_loop_1.yaml.j2 b/parm/jcb-gdas/model/soil/soil_3dvar_outer_loop_1.yaml.j2 index 302fd4a33..8dd306dbe 100644 --- a/parm/jcb-gdas/model/soil/soil_3dvar_outer_loop_1.yaml.j2 +++ b/parm/jcb-gdas/model/soil/soil_3dvar_outer_loop_1.yaml.j2 @@ -20,9 +20,7 @@ state variables: - filtered_orography - fraction_of_land - field io names: - filtered_orography: orog_filt - fraction_of_land: land_frac + field io names: {{ soil_field_io_names }} datapath: {{ soil_orog_files_path }}/ filename_orog: {{ soil_orog_prefix }}_oro_data.nc diagnostics: diff --git a/parm/jcb-gdas/model/soil/soil_background.yaml.j2 b/parm/jcb-gdas/model/soil/soil_background.yaml.j2 index c495e93f9..7957a9a9d 100644 --- a/parm/jcb-gdas/model/soil/soil_background.yaml.j2 +++ b/parm/jcb-gdas/model/soil/soil_background.yaml.j2 @@ -2,22 +2,8 @@ datapath: {{ soil_background_path }} filetype: fms restart skip coupler file: true datetime: '{{ soil_background_time_iso }}' -state variables: -- soilMoistureVolumetric -- stc -- totalSnowDepth -- sheleg -- vtype -- slmsk -- filtered_orography -- fraction_of_ice -- fraction_of_land -field io names: - soilMoistureVolumetric: smc - totalSnowDepth: snodl - filtered_orography: orog_filt - fraction_of_ice: fice - fraction_of_land: land_frac +state variables: {{ soil_det_state_variables }} +field io names: {{ soil_field_io_names }} filename_sfcd: '{{ soil_background_time_fv3 }}.sfc_data.nc' filename_cplr: '{{ soil_background_time_fv3 }}.coupler.res' filename_orog: '{{ soil_orog_prefix }}_oro_data.nc' diff --git a/parm/jcb-gdas/model/soil/soil_background_error.yaml.j2 b/parm/jcb-gdas/model/soil/soil_background_error.yaml.j2 index c1220bea3..ba8169e71 100644 --- a/parm/jcb-gdas/model/soil/soil_background_error.yaml.j2 +++ b/parm/jcb-gdas/model/soil/soil_background_error.yaml.j2 @@ -12,16 +12,13 @@ saber central block: resolution: 4 explicit length-scales: true horizontal length-scale: - - groups: - - soilMoistureVolumetric + - groups: {{ soil_det_increment_variables }} value: 1000000.0 vertical length-scale: - - groups: - - soilMoistureVolumetric + - groups: {{ soil_det_increment_variables }} value: 1500.0 interpolation type: - - groups: - - soilMoistureVolumetric + - groups: {{ soil_det_increment_variables }} type: c0 same horizontal convolution: true io: @@ -35,6 +32,5 @@ saber outer blocks: variance: explicit stddev: true stddev: - - variables: - - soilMoistureVolumetric + - variables: {{ soil_det_increment_variables }} value: 0.2 diff --git a/parm/jcb-gdas/model/soil/soil_final_increment_fms.yaml.j2 b/parm/jcb-gdas/model/soil/soil_final_increment_fms.yaml.j2 index b3a7f22f8..7623c70a3 100644 --- a/parm/jcb-gdas/model/soil/soil_final_increment_fms.yaml.j2 +++ b/parm/jcb-gdas/model/soil/soil_final_increment_fms.yaml.j2 @@ -5,16 +5,8 @@ output: filetype: fms restart filename_sfcd: '{{ soil_background_time_fv3 }}.sfc_data.nc' filename_cplr: '{{ soil_background_time_fv3 }}.coupler.res' - state variables: - - soilMoistureVolumetric - - stc - - totalSnowDepth - - sheleg - - vtype - - slmsk - field io names: - soilMoistureVolumetric: smc - totalSnowDepth: snodl + state variables: {{ soil_det_increment_variables_final }} + field io names: {{ soil_field_io_names }} geometry: fms initialization: namelist filename: "{{ soil_fv3jedi_files_path }}/fmsmpp.nml" diff --git a/parm/jcb-gdas/model/soil/soil_output.yaml.j2 b/parm/jcb-gdas/model/soil/soil_output.yaml.j2 index 83e44b6ee..a860f789d 100644 --- a/parm/jcb-gdas/model/soil/soil_output.yaml.j2 +++ b/parm/jcb-gdas/model/soil/soil_output.yaml.j2 @@ -1,19 +1,5 @@ -state variables: -- soilMoistureVolumetric -- stc -- totalSnowDepth -- sheleg -- vtype -- slmsk -- filtered_orography -- fraction_of_ice -- fraction_of_land -field io names: - soilMoistureVolumetric: smc - totalSnowDepth: snodl - filtered_orography: orog_filt - fraction_of_ice: fice - fraction_of_land: land_frac +state variables: {{ soil_det_state_variables }} +field io names: {{ soil_field_io_names }} datapath: ./anl prefix: soil_finanl filetype: fms restart diff --git a/parm/marine/jcb-base.yaml.j2 b/parm/marine/jcb-base.yaml.j2 index 74804dd05..1ef9f68ec 100644 --- a/parm/marine/jcb-base.yaml.j2 +++ b/parm/marine/jcb-base.yaml.j2 @@ -25,18 +25,36 @@ minimizer: RPCG final_diagnostics_departures: oman final_prints_frequency: PT3H number_of_outer_loops: 1 -analysis_variables: -- sea_ice_area_fraction -- sea_ice_thickness -- sea_ice_snow_thickness -- sea_water_salinity -- sea_water_potential_temperature -#- eastward_sea_water_velocity -#- northward_sea_water_velocity -- sea_surface_height_above_geoid + +# Analysis variables +{% set _analysis_vars = ['sea_ice_area_fraction', + 'sea_ice_thickness', + 'sea_ice_snow_thickness', + 'sea_water_salinity', + 'sea_water_potential_temperature', + 'sea_surface_height_above_geoid'] %} +analysis_variables: {{ _analysis_vars }} # Model things # ------------ + +# State variables +marine_det_state_variables: {{ _analysis_vars + ['air_temperature', + 'bulk_ice_salinity', + 'sea_water_cell_thickness', + 'ocean_mixed_layer_thickness', + 'sea_water_depth', + 'snow_ice_surface_temperature'] }} + +marine_saber_central_block_variables: +- 'sea_water_potential_temperature' +- 'sea_water_salinity' +- 'sea_surface_height_above_geoid' +- 'sea_ice_area_fraction' + +# Increment variables +marine_det_increment_variables: {{ _analysis_vars }} + marine_window_begin: '{{ WINDOW_BEGIN }}' marine_window_middle: '{{ WINDOW_MIDDLE }}' marine_window_begin_iso: '{{ WINDOW_BEGIN | to_isotime }}' @@ -114,7 +132,17 @@ local_ensemble_da_solver: Deterministic LETKF use_linear_observer: true # Increment variables -increment_variables: [sea_water_salinity, sea_water_potential_temperature, sea_surface_height_above_geoid, sea_water_cell_thickness, eastward_sea_water_velocity, northward_sea_water_velocity, sea_ice_area_fraction] +{% set _increment_vars = ['sea_ice_area_fraction', + 'sea_water_salinity', + 'sea_water_potential_temperature', + 'sea_surface_height_above_geoid', + 'sea_water_cell_thickness', + 'eastward_sea_water_velocity', + 'northward_sea_water_velocity'] %} +increment_variables: {{ _increment_vars }} + +# State variables +marine_ens_state_variables: {{ _increment_vars }} # Driver driver_save_posterior_mean: true @@ -132,5 +160,3 @@ inflation_mult: 1.1 # Using LETKF app? (used in obs YAMLs) marine_letkf_app: {{ letkf_app | default(false) }} marine_letkf_dist_halo_size: '{{ DIST_HALO_SIZE }}' - - diff --git a/parm/snow/jcb-base.yaml.j2 b/parm/snow/jcb-base.yaml.j2 index d4766d0cc..e5043ac62 100644 --- a/parm/snow/jcb-base.yaml.j2 +++ b/parm/snow/jcb-base.yaml.j2 @@ -33,15 +33,46 @@ snow_increment_time_fv3: "{{ bkg_time_fv3 }}" # Analysis standard things # ------------------------ -analysis_variables: [totalSnowDepth] minimizer: DRPCG final_diagnostics_departures: anlmob final_prints_frequency: PT3H cost_type: 3D-Var number_of_outer_loops: 1 +# Analysis variables +{% set _analysis_vars = ['totalSnowDepth'] %} +analysis_variables: {{ _analysis_vars }} + # Model things # ------------ + +# State variables +snow_det_state_variables: {{ _analysis_vars + ['vtype', + 'slmsk', + 'sheleg', + 'filtered_orography', + 'fraction_of_ice', + 'fraction_of_land', + 'stc'] }} +snow_ensmean_state_variables: {{ _analysis_vars + ['vtype', + 'slmsk', + 'sheleg', + 'filtered_orography', + 'fraction_of_ice', + 'stc'] }} + +# Increment variables +snow_det_increment_variables: {{ _analysis_vars }} +snow_det_increment_variables_final: {{ _analysis_vars + ['vtype', + 'slmsk'] }} + +# Variable IO names +snow_field_io_names: + totalSnowDepth: snodl + filtered_orography: orog_filt + fraction_of_ice: fice + fraction_of_land: land_frac + # Geometry snow_layout_x: {{ layout_x | default(1, true) }} snow_layout_y: {{ layout_y | default(1, true) }} @@ -111,7 +142,7 @@ snow_number_ensemble_members: {{NMEM_ENS}} # ------------------------- local_ensemble_da_solver: Deterministic GETKF -increment_variables: [ua,va,DZ,delp,t,ps,sphum,ice_wat,liq_wat,o3mr] +increment_variables: {{ _analysis_vars }} # dummy for now # Veritcal localization for GETKF vl_fraction_of_retained_variance: 0.750 diff --git a/parm/soil/jcb-base.yaml.j2 b/parm/soil/jcb-base.yaml.j2 index e8071f966..65cc6285d 100644 --- a/parm/soil/jcb-base.yaml.j2 +++ b/parm/soil/jcb-base.yaml.j2 @@ -33,15 +33,45 @@ soil_increment_time_fv3: "{{ bkg_time_fv3 }}" # Analysis standard things # ------------------------ -analysis_variables: [soilMoistureVolumetric] minimizer: DRPCG final_diagnostics_departures: anlmob final_prints_frequency: PT3H cost_type: 3D-Var number_of_outer_loops: 1 +# Analysis variables +{% set _analysis_vars = ['soilMoistureVolumetric'] %} +analysis_variables: {{ _analysis_vars }} + # Model things # ------------ + +# State variables +soil_det_state_variables: {{ _analysis_vars + ['stc', + 'totalSnowDepth', + 'sheleg', + 'vtype', + 'slmsk', + 'fraction_of_ice' + 'filtered_orography', + 'fraction_of_land'] }} + +# Increment variables +soil_det_increment_variables: {{ _analysis_vars }} +soil_det_increment_variables_final: {{ _analysis_vars + ['stc', + 'totalSnowDepth', + 'sheleg', + 'vtype', + 'slmsk'] }} + +# Variable IO names +soil_field_io_names: + soilMoistureVolumetric: smc + totalSnowDepth: snodl + filtered_orography: orog_filt + fraction_of_ice: fice + fraction_of_land: land_frac + # Geometry soil_layout_x: {{ layout_x | default(1, true) }} soil_layout_y: {{ layout_y | default(1, true) }} @@ -111,7 +141,7 @@ soil_number_ensemble_members: {{NMEM_ENS}} # ------------------------- local_ensemble_da_solver: Deterministic GETKF -increment_variables: [ua,va,DZ,delp,t,ps,sphum,ice_wat,liq_wat,o3mr] +increment_variables: {{ _analysis_vars}} # dummy for now # Veritcal localization for GETKF vl_fraction_of_retained_variance: 0.750