diff --git a/parm/io/fv3jedi_fieldmetadata_fv3inc.yaml b/parm/io/fv3jedi_fieldmetadata_fv3inc.yaml index 1cc4115e5..2f8acb839 100644 --- a/parm/io/fv3jedi_fieldmetadata_fv3inc.yaml +++ b/parm/io/fv3jedi_fieldmetadata_fv3inc.yaml @@ -24,6 +24,6 @@ field metadata: - long name: air_pressure_thickness io name: delp_inc -- long name: hydrostatic_layer_thickness +- long name: layer_thickness io name: delz_inc diff --git a/parm/jcb-gdas b/parm/jcb-gdas index 25c66b8df..272d6d73c 160000 --- a/parm/jcb-gdas +++ b/parm/jcb-gdas @@ -1 +1 @@ -Subproject commit 25c66b8dfd5462ae873b77c57178ec903f8af59f +Subproject commit 272d6d73c0ceea5332fee005f59b3270527d10c7 diff --git a/parm/soca/obs/config/icec_amsu_mb_l2.yaml b/parm/soca/obs/config/icec_amsu_mb_l2.yaml new file mode 100644 index 000000000..9ab19e569 --- /dev/null +++ b/parm/soca/obs/config/icec_amsu_mb_l2.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_amsu_mb_l2 + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_amsu_mb_l2.${PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_amsu_mb_l2.${PDY}${cyc}.nc4 + simulated variables: [seaIceFraction] + io pool: + max pool size: 1 +get values: + time interpolation: linear +obs operator: + name: Identity + observation alias file: obsop_name_map.yaml +obs error: + covariance model: diagonal +obs filters: +- filter: Domain Check + where: + - variable: {name: GeoVaLs/sea_area_fraction} + minvalue: 0.9 +- filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 +#- filter: Background Check +# threshold: 5.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 2.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 +- filter: Domain Check + where: + - variable: {name: GeoVaLs/distance_from_coast} + minvalue: 100e3 diff --git a/parm/soca/obs/config/icec_atms_n20_l2.yaml b/parm/soca/obs/config/icec_atms_n20_l2.yaml new file mode 100644 index 000000000..d9efd3b35 --- /dev/null +++ b/parm/soca/obs/config/icec_atms_n20_l2.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_atms_n20_l2 + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_atms_n20_l2.{PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_atms_n20_l2.${PDY}${cyc}.nc4 + simulated variables: [seaIceFraction] + io pool: + max pool size: 1 +get values: + time interpolation: linear +obs operator: + name: Identity + observation alias file: obsop_name_map.yaml +obs error: + covariance model: diagonal +obs filters: +- filter: Domain Check + where: + - variable: {name: GeoVaLs/sea_area_fraction} + minvalue: 0.9 +- filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 +#- filter: Background Check +# threshold: 5.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 2.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 +- filter: Domain Check + where: + - variable: {name: GeoVaLs/distance_from_coast} + minvalue: 100e3 diff --git a/parm/soca/obs/config/icec_atms_n21_l2.yaml b/parm/soca/obs/config/icec_atms_n21_l2.yaml new file mode 100644 index 000000000..b3e204dd6 --- /dev/null +++ b/parm/soca/obs/config/icec_atms_n21_l2.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_atms_n21_l2 + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_atms_n21_l2.{PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_atms_n21_l2.${PDY}${cyc}.nc4 + simulated variables: [seaIceFraction] + io pool: + max pool size: 1 +get values: + time interpolation: linear +obs operator: + name: Identity + observation alias file: obsop_name_map.yaml +obs error: + covariance model: diagonal +obs filters: +- filter: Domain Check + where: + - variable: {name: GeoVaLs/sea_area_fraction} + minvalue: 0.9 +- filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 +#- filter: Background Check +# threshold: 5.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 2.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 +- filter: Domain Check + where: + - variable: {name: GeoVaLs/distance_from_coast} + minvalue: 100e3 diff --git a/parm/soca/obs/config/icec_atms_npp_l2.yaml b/parm/soca/obs/config/icec_atms_npp_l2.yaml new file mode 100644 index 000000000..ede7e0bb1 --- /dev/null +++ b/parm/soca/obs/config/icec_atms_npp_l2.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_atms_npp_l2 + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_atms_npp_l2.{PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_atms_npp_l2.${PDY}${cyc}.nc4 + simulated variables: [seaIceFraction] + io pool: + max pool size: 1 +get values: + time interpolation: linear +obs operator: + name: Identity + observation alias file: obsop_name_map.yaml +obs error: + covariance model: diagonal +obs filters: +- filter: Domain Check + where: + - variable: {name: GeoVaLs/sea_area_fraction} + minvalue: 0.9 +- filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 +#- filter: Background Check +# threshold: 5.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 2.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 +- filter: Domain Check + where: + - variable: {name: GeoVaLs/distance_from_coast} + minvalue: 100e3 diff --git a/parm/soca/obs/config/icec_gmi_gpm_l2.yaml b/parm/soca/obs/config/icec_gmi_gpm_l2.yaml new file mode 100644 index 000000000..ba6d3d42a --- /dev/null +++ b/parm/soca/obs/config/icec_gmi_gpm_l2.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_gmi_gpm_l2 + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_gmi_gpm_l2.${PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_gmi_gpm_l2.${PDY}${cyc}.nc4 + simulated variables: [seaIceFraction] + io pool: + max pool size: 1 +get values: + time interpolation: linear +obs operator: + name: Identity + observation alias file: obsop_name_map.yaml +obs error: + covariance model: diagonal +obs filters: +- filter: Domain Check + where: + - variable: {name: GeoVaLs/sea_area_fraction} + minvalue: 0.9 +- filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 +#- filter: Background Check +# threshold: 5.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 2.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 +- filter: Domain Check + where: + - variable: {name: GeoVaLs/distance_from_coast} + minvalue: 100e3 diff --git a/parm/soca/obs/config/icec_ssmis_f17_l2.yaml b/parm/soca/obs/config/icec_ssmis_f17_l2.yaml new file mode 100644 index 000000000..c8e5e40e1 --- /dev/null +++ b/parm/soca/obs/config/icec_ssmis_f17_l2.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_ssmis_f17_l2 + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_ssmis_f17_l2.${PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_ssmis_f17_l2.${PDY}${cyc}.nc4 + simulated variables: [seaIceFraction] + io pool: + max pool size: 1 +get values: + time interpolation: linear +obs operator: + name: Identity + observation alias file: obsop_name_map.yaml +obs error: + covariance model: diagonal +obs filters: +- filter: Domain Check + where: + - variable: {name: GeoVaLs/sea_area_fraction} + minvalue: 0.9 +- filter: Bounds Check + minvalue: 0.0 + maxvalue: 1.0 +#- filter: Background Check +# threshold: 5.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 2.0 +- filter: Domain Check + where: + - variable: { name: GeoVaLs/sea_surface_temperature} + maxvalue: 0.0 + action: + name: inflate error + inflation factor: 2.0 +- filter: Domain Check + where: + - variable: {name: GeoVaLs/distance_from_coast} + minvalue: 100e3 diff --git a/parm/soca/obs/obs_list.yaml b/parm/soca/obs/obs_list.yaml index dc13c0e31..150722c58 100644 --- a/parm/soca/obs/obs_list.yaml +++ b/parm/soca/obs/obs_list.yaml @@ -15,6 +15,12 @@ observers: # Ice concentration - !INC ${MARINE_OBS_YAML_DIR}/icec_amsr2_north.yaml - !INC ${MARINE_OBS_YAML_DIR}/icec_amsr2_south.yaml +#- !INC ${MARINE_OBS_YAML_DIR}/icec_amsu_mb_l2.yaml +#- !INC ${MARINE_OBS_YAML_DIR}/icec_atms_n20_l2.yaml +#- !INC ${MARINE_OBS_YAML_DIR}/icec_atms_n21_l2.yaml +#- !INC ${MARINE_OBS_YAML_DIR}/icec_atms_npp_l2.yaml +#- !INC ${MARINE_OBS_YAML_DIR}/icec_gmi_gpm_l2.yaml +#- !INC ${MARINE_OBS_YAML_DIR}/icec_ssmis_f17_l2.yaml # in situ: monthly #- !INC ${MARINE_OBS_YAML_DIR}/insitu_profile_bathy.yaml diff --git a/parm/soca/obsprep/obsprep_config.yaml b/parm/soca/obsprep/obsprep_config.yaml index d7e44cb6b..fd9239022 100644 --- a/parm/soca/obsprep/obsprep_config.yaml +++ b/parm/soca/obsprep/obsprep_config.yaml @@ -46,6 +46,54 @@ observations: dmpdir regex: 'AMSR2-SEAICE-SH_v2r2_GW1_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc +- obs space: + name: icec_amsu_mb_l2 + provider: MIRS + dmpdir subdir: ocean/icec + type: nc + dmpdir regex: 'NPR-MIRS-IMG_v11r9_ma1_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + +- obs space: + name: icec_atms_n20_l2 + provider: MIRS + dmpdir subdir: ocean/icec + type: nc + dmpdir regex: 'NPR-MIRS-IMG_v11r9_n20_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + +- obs space: + name: icec_atms_n21_l2 + provider: MIRS + dmpdir subdir: ocean/icec + type: nc + dmpdir regex: 'NPR-MIRS-IMG_v11r9_n21_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + +- obs space: + name: icec_atms_npp_l2 + provider: MIRS + dmpdir subdir: ocean/icec + type: nc + dmpdir regex: 'NPR-MIRS-IMG_v11r4_npp_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + +- obs space: + name: icec_gmi_gpm_l2 + provider: MIRS + dmpdir subdir: ocean/icec + type: nc + dmpdir regex: 'NPR-MIRS-IMG_v11r9_gpm_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + +- obs space: + name: icec_ssmis_f17_l2 + provider: MIRS + dmpdir subdir: ocean/icec + type: nc + dmpdir regex: 'NPR-MIRS-IMG_v11r4_f17_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + # SST - obs space: name: sst_avhrr_ma_l3u diff --git a/sorc/fv3-jedi b/sorc/fv3-jedi index 00173d7b0..731fcf4cb 160000 --- a/sorc/fv3-jedi +++ b/sorc/fv3-jedi @@ -1 +1 @@ -Subproject commit 00173d7b0162c3c0d2c583032b8dbd4a026e5220 +Subproject commit 731fcf4cbf541f37ac0531b2504fcc4108e1f6ee diff --git a/test/fv3jedi/testinput/gdasapp_fv3jedi_fv3inc.yaml b/test/fv3jedi/testinput/gdasapp_fv3jedi_fv3inc.yaml index 41a761dee..f59603d92 100644 --- a/test/fv3jedi/testinput/gdasapp_fv3jedi_fv3inc.yaml +++ b/test/fv3jedi/testinput/gdasapp_fv3jedi_fv3inc.yaml @@ -1,7 +1,7 @@ variable change: variable change name: Model2GeoVaLs input variables: &bkgvars [ua,va,t,ps,sphum,ice_wat,liq_wat,o3mr,surface_geopotential_height] - output variables: &fv3incrvars [ua,va,t,sphum,ice_wat,liq_wat,o3mr,delp,hydrostatic_delz] + output variables: &fv3incrvars [ua,va,t,sphum,ice_wat,liq_wat,o3mr,delp,delz] jedi increment variables: [ua,va,t,ps,sphum,ice_wat,liq_wat,o3mr] fv3 increment variables: *fv3incrvars background geometry: diff --git a/test/fv3jedi/testoutput/gdasapp_fv3jedi_fv3inc.ref b/test/fv3jedi/testoutput/gdasapp_fv3jedi_fv3inc.ref index b3ba84ff3..a4be55d39 100644 --- a/test/fv3jedi/testoutput/gdasapp_fv3jedi_fv3inc.ref +++ b/test/fv3jedi/testoutput/gdasapp_fv3jedi_fv3inc.ref @@ -37,5 +37,5 @@ cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+ cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+0.0000000000000000e+00 RMS:+0.0000000000000000e+00 ozone_mass_mixing_ratio | Min:+0.0000000000000000e+00 Max:+0.0000000000000000e+00 RMS:+0.0000000000000000e+00 air_pressure_thickness | Min:-2.9992886080290191e+00 Max:+1.5291703492039233e+00 RMS:+1.7535872214547940e-01 -hydrostatic_layer_thickness | Min:-4.6699236754648155e-01 Max:+7.4693987323735200e-01 RMS:+3.1162055487823255e-02 +layer_thickness | Min:-4.6699236754648155e-01 Max:+7.4693987323735200e-01 RMS:+3.1162055487823255e-02 ----------------------------------------------------------------------------------------------------