Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
369 changes: 369 additions & 0 deletions src/Applications/GEOSdas_App/jedi/etc/obs/abi_g19.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,369 @@
- obs space:
name: ABI GOES-19
obsdatain:
engine:
type: H5File
obsfile: ./obs/abi_g19.$BYYYYYMMDDTHH0000Z.nc4
missing file action: warn
obsdataout:
engine:
type: H5File
obsfile: ./hofx/abi_g19.$BYYYYYMMDDTHH0000Z.nc4
io pool:
max pool size: 6
simulated variables: [brightnessTemperature]
channels: &abi_g19_channels [7-16]

obs operator:
name: CRTM
Absorbers: [H2O,O3,CO2]
obs options:
Sensor_ID: abi_g19
EndianType: little_endian
CoefficientPath: $JEDI_CRTM_COEFFS
linear obs operator:
Absorbers: [H2O,O3]
Surfaces: [Water_Temperature,Land_Temperature,Ice_Temperature,Snow_Temperature]
zeroO3JacRange:
- 996.0
- 1170.0

obs bias:
input file: ./obs/abi_g19.$PYYYYYMMDDTHH0000Z.satbias.nc4
output file: ./vbc/abi_g19.$BYYYYYMMDDTHH0000Z.satbias.nc4
variational bc:
predictors:
- name: constant
- name: lapseRate
order: 2
tlapse: &abi_g19_tlapse ./obs/abi_g19.$PYYYYYMMDDTHH0000Z.tlapse.txt
- name: lapseRate
tlapse: *abi_g19_tlapse
- name: emissivityJacobian
- name: sensorScanAngle
var_name: sensorScanPosition
order: 4
- name: sensorScanAngle
var_name: sensorScanPosition
order: 3
- name: sensorScanAngle
var_name: sensorScanPosition
order: 2
- name: sensorScanAngle
var_name: sensorScanPosition
covariance:
minimal required obs number: 20
variance range:
- 1e-06
- 10.0
step size: 0.0001
largest analysis variance: 10000.0
prior:
input file: ./obs/abi_g19.$PYYYYYMMDDTHH0000Z.satbias_cov.nc4
inflation:
ratio: 1.1
ratio for small dataset: 2.0
output file: ./vbc/abi_g19.$BYYYYYMMDDTHH0000Z.satbias_cov.nc4

obs prior filters:
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
action:
name: assign error
error parameter vector: [1.4,3.0,3.0,3.5,2.0,2.0,2.0,2.0,2.0,2.0]

obs post filters:
# Useflag Check
- filter: Bounds Check
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
test variables:
- name: ObsFunction/ChannelUseflagCheckRad
channels: *abi_g19_channels
options:
channels: *abi_g19_channels
use_flag: >>>use_channels_abi_g19<<<
minvalue: 1.0e-12
action:
name: reject

# Satellite Zenith Angle Check
- filter: Bounds Check
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
test variables:
- name: MetaData/sensorZenithAngle
maxvalue: 65.
action:
name: reject

# Surface type check
# Over water no reject. Over land, reject ch 7, 11-16. Over ice or snow, reject all.
- filter: BlackList
filter variables:
- name: brightnessTemperature
channels: 7, 11-16
where:
- variable:
name: GeoVaLs/land_area_fraction
minvalue: 0.99
- filter: BlackList
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
where:
- variable:
name: GeoVaLs/ice_area_fraction
minvalue: 0.99
- filter: BlackList
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
where:
- variable:
name: GeoVaLs/surface_snow_area_fraction
minvalue: 0.99
- filter: BlackList
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
where:
- variable:
name: GeoVaLs/land_area_fraction
maxvalue: 0.99
max_exclusive: true
- variable:
name: GeoVaLs/water_area_fraction
maxvalue: 0.99
max_exclusive: true
- variable:
name: GeoVaLs/ice_area_fraction
maxvalue: 0.99
max_exclusive: true
- variable:
name: GeoVaLs/surface_snow_area_fraction
maxvalue: 0.99
max_exclusive: true

# BT range check
- filter: Bounds Check
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
minvalue: 0.0
maxvalue: 1000.0
action:
name: reject

# Topography Check
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
action:
name: inflate error
inflation variable:
name: ObsFunction/ObsErrorFactorTopoRad
channels: *abi_g19_channels
options:
channels: *abi_g19_channels
sensor: abi_g19

# Model top transmittance check
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
action:
name: inflate error
inflation variable:
name: ObsFunction/ObsErrorFactorTransmitTopRad
channels: *abi_g19_channels
options:
channels: *abi_g19_channels

# Scene Consistency Check based on ch13 (10.3 micron) SDTB
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
where:
- variable:
name: ClearSkyStdDev/brightnessTemperature
channels: 13
minvalue: 0.4
action:
name: reject
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
where:
- variable:
name: ClearSkyStdDev/brightnessTemperature
channels: 13
maxvalue: 0.4
minvalue: 0.3
max_exclusive: true
action:
name: inflate error
inflation factor: 1.4142

# Scene Consistency Check for ch8-10 based on ch8 (6.2 micron) SDTB
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: 8-10
where:
- variable:
name: ClearSkyStdDev/brightnessTemperature
channels: 8
maxvalue: 0.5
minvalue: 0.4
max_exclusive: true
action:
name: inflate error
inflation factor: 1.1489
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: 8-10
where:
- variable:
name: ClearSkyStdDev/brightnessTemperature
channels: 8
maxvalue: 0.6
minvalue: 0.5
max_exclusive: true
action:
name: inflate error
inflation factor: 1.2923
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: 8-10
where:
- variable:
name: ClearSkyStdDev/brightnessTemperature
channels: 8
maxvalue: 0.7
minvalue: 0.6
max_exclusive: true
action:
name: inflate error
inflation factor: 1.4967
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: 8-10
where:
- variable:
name: ClearSkyStdDev/brightnessTemperature
channels: 8
minvalue: 0.7
action:
name: reject

# Near SST Retrieval Check
- filter: Bounds Check
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
test variables:
- name: ObsFunction/NearSSTRetCheckIR
channels: *abi_g19_channels
options:
channels: *abi_g19_channels
use_flag: >>>use_channels_abi_g19<<<
maxvalue: 1.0e-12
action:
name: reject

# Surface Jacobian Check
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
action:
name: inflate error
inflation variable:
name: ObsFunction/ObsErrorFactorSurfJacobianRad
channels: *abi_g19_channels
options:
channels: *abi_g19_channels
sensor: abi_g19
obserr_demisf: [0.01, 0.02, 0.03, 0.02, 0.03]
obserr_dtempf: [0.5, 2.0, 4.0, 2.0, 4.0]

# All channels are retained where cloud fraction <=1 (i.e., 1%)
- filter: Domain Check
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
where:
- variable:
name: MetaData/cloud_frac
maxvalue: 1

# For surface and ch10 (7.3 micron), use split window chns to remove oqaque clouds
# step 1: calculate splitWindowDiff with Tb_obs and Tb_sim (hofx, restored to before BC)
- filter: Variable Assignment
assignments:
- name: DerivedMetaData/splitWindowDiff
type: float
function:
name: ObsFunction/Arithmetic
options:
variables:
- name: ObsValue/brightnessTemperature
channels: 13
- name: ObsValue/brightnessTemperature
channels: 14
- name: HofX/brightnessTemperature
channels: 13
- name: HofX/brightnessTemperature
channels: 14
- name: ObsBiasData/brightnessTemperature
channels: 13
- name: ObsBiasData/brightnessTemperature
channels: 14
coefs: [1, -1, -1, 1, 1, -1]
# step 2: apply threshold
- filter: Perform Action
filter variables:
- name: brightnessTemperature
channels: 7, 10-16
where:
- variable:
name: DerivedMetaData/splitWindowDiff
maxvalue: -0.75
action:
name: reject

# Final gross check
- filter: Background Check
filter variables:
- name: brightnessTemperature
channels: *abi_g19_channels
function absolute threshold:
- name: ObsFunction/ObsErrorBoundIR
channels: *abi_g19_channels
options:
channels: *abi_g19_channels
obserr_bound_latitude:
name: ObsFunction/ObsErrorFactorLatRad
options:
latitude_parameters: [0.0, 0.0, 0.0, 0.0]
obserr_bound_transmittop:
name: ObsFunction/ObsErrorFactorTransmitTopRad
channels: *abi_g19_channels
options:
channels: *abi_g19_channels
obserr_bound_max: [2.5,4.0,4.0,4.0,2.5,2.5,2.5,2.5,2.5,2.5]
action:
name: reject
observation_name: abi_g19
3 changes: 2 additions & 1 deletion src/Applications/NCEP_Etc/NCEP_bias/sac.nl.tmpl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
&SETUP
jpch=4411,nstep=90,nsize=20,wgtang=0.008333333,wgtlap=0.0,
jpch=4507,nstep=90,nsize=20,wgtang=0.008333333,wgtlap=0.0,
iuseqc=1,dtmax=1.0,
iyy1=>>>YYYY<<<,
imm1=>>>MM<<<,
Expand Down Expand Up @@ -98,6 +98,7 @@
dtype(83)='iasi', dplat(83)='metop-c', dsis(83)='iasi_metop-c',
dtype(84)='abi', dplat(84)='g16', dsis(84)='abi_g16',
dtype(85)='abi', dplat(85)='g18', dsis(85)='abi_g18',
dtype(86)='abi', dplat(86)='g19', dsis(86)='abi_g19',
/
dtype(46)='ssu', dplat(46)='n14', dsis(46)='ssu_n14',
dtype(47)='hsb', dplat(47)='aqua', dsis(47)='hsb_aqua',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
sattypes_rad(69)= 'cris-fsr_n21', dsis(69)= 'cris-fsr_n21',
sattypes_rad(70)= 'abi_g16', dsis(70)= 'abi_g16',
sattypes_rad(71)= 'abi_g18', dsis(71)= 'abi_g18',
sattypes_rad(72)= 'abi_g19', dsis(72)= 'abi_g19',
/
&ozobs_enkf
sattypes_oz(1) = 'sbuv2_n16',
Expand Down
Loading
Loading