diff --git a/parm/soca/obs/config/icec_viirs_n20_l2_north.yaml b/parm/soca/obs/config/icec_viirs_n20_l2_north.yaml new file mode 100644 index 000000000..f6a24d7f8 --- /dev/null +++ b/parm/soca/obs/config/icec_viirs_n20_l2_north.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_viirs_n20_l2_north + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_viirs_n20_l2_north.{PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_viirs_n20_l2_north.${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_viirs_n20_l2_south.yaml b/parm/soca/obs/config/icec_viirs_n20_l2_south.yaml new file mode 100644 index 000000000..030b1091f --- /dev/null +++ b/parm/soca/obs/config/icec_viirs_n20_l2_south.yaml @@ -0,0 +1,45 @@ +obs space: + name: icec_viirs_n20_l2_south + obsdatain: + engine: + type: H5File + obsfile: !ENV ${DATA}/obs/${OPREFIX}icec_viirs_n20_l2_south.{PDY}${cyc}.nc4 + obsdataout: + engine: + type: H5File + obsfile: !ENV ${DATA}/diags/icec_viirs_n20_l2_south.${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 150722c58..c11dc1ace 100644 --- a/parm/soca/obs/obs_list.yaml +++ b/parm/soca/obs/obs_list.yaml @@ -15,6 +15,8 @@ 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_viirs_n20_l2_north.yaml +#- !INC ${MARINE_OBS_YAML_DIR}/icec_viirs_n20_l2_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 diff --git a/parm/soca/obsprep/obsprep_config.yaml b/parm/soca/obsprep/obsprep_config.yaml index fd9239022..0b3c56764 100644 --- a/parm/soca/obsprep/obsprep_config.yaml +++ b/parm/soca/obsprep/obsprep_config.yaml @@ -46,6 +46,22 @@ observations: dmpdir regex: 'AMSR2-SEAICE-SH_v2r2_GW1_s*.nc' ocean basin: RECCAP2_region_masks_all_v20221025.nc +- obs space: + name: icec_viirs_n20_l2_north + provider: JPSSRR + dmpdir subdir: ocean/icec/NH + type: nc + dmpdir regex: 'JRR-IceConcentration_v2r3_j01_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + +- obs space: + name: icec_viirs_n20_l2_south + provider: JPSSRR + dmpdir subdir: ocean/icec/SH + type: nc + dmpdir regex: 'JRR-IceConcentration_v2r3_j01_s*.nc' + ocean basin: RECCAP2_region_masks_all_v20221025.nc + - obs space: name: icec_amsu_mb_l2 provider: MIRS