diff --git a/build.sh b/build.sh index 3e30048b..a4362a80 100755 --- a/build.sh +++ b/build.sh @@ -144,6 +144,7 @@ if [[ $DYCORE == 'MPAS' || $DYCORE == 'FV3andMPAS' ]]; then # Link in case data echo "Linking in test data for MPAS-JEDI case" $dir_root/rrfs-test/scripts/link_mpasjedi_expr.sh + $dir_root/rrfs-test/scripts/link_fv3jedi_expr.sh fi CMAKE_OPTS+=" -DMPIEXEC_MAX_NUMPROCS:STRING=120 -DBUILD_SUPER_EXE=$BUILD_SUPER_EXE" diff --git a/bundle/rrfs-test-data/rrfs-data_fv3jedi_2024052700 b/bundle/rrfs-test-data/rrfs-data_fv3jedi_2024052700 new file mode 120000 index 00000000..d8fb9bc9 --- /dev/null +++ b/bundle/rrfs-test-data/rrfs-data_fv3jedi_2024052700 @@ -0,0 +1 @@ +../../expr/fv3_2024052700 \ No newline at end of file diff --git a/fix/expr_data/fv3_2024052700/Data b/fix/expr_data/fv3_2024052700/Data new file mode 120000 index 00000000..47b74b76 --- /dev/null +++ b/fix/expr_data/fv3_2024052700/Data @@ -0,0 +1 @@ +../../.agent/expr_data/fv3_2024052700/Data \ No newline at end of file diff --git a/fix/expr_data/fv3_2024052700/DataFix b/fix/expr_data/fv3_2024052700/DataFix new file mode 120000 index 00000000..2e45755b --- /dev/null +++ b/fix/expr_data/fv3_2024052700/DataFix @@ -0,0 +1 @@ +../../.agent/expr_data/fv3_2024052700/DataFix \ No newline at end of file diff --git a/fix/expr_data/fv3_2024052700/Data_static b/fix/expr_data/fv3_2024052700/Data_static new file mode 120000 index 00000000..dc20af8e --- /dev/null +++ b/fix/expr_data/fv3_2024052700/Data_static @@ -0,0 +1 @@ +../../.agent/expr_data/fv3_2024052700/Data_static \ No newline at end of file diff --git a/fix/expr_data/fv3_2024052700/INPUT b/fix/expr_data/fv3_2024052700/INPUT new file mode 120000 index 00000000..db769162 --- /dev/null +++ b/fix/expr_data/fv3_2024052700/INPUT @@ -0,0 +1 @@ +../../.agent/expr_data/fv3_2024052700/INPUT \ No newline at end of file diff --git a/fix/rrfs-test-data/rrfs-data_mpasjedi_2022052619 b/fix/rrfs-test-data/rrfs-data_mpasjedi_2022052619 deleted file mode 120000 index 826b5ff6..00000000 --- a/fix/rrfs-test-data/rrfs-data_mpasjedi_2022052619 +++ /dev/null @@ -1 +0,0 @@ -../.agent/rrfs-test-data/rrfs-data_mpasjedi_2022052619 \ No newline at end of file diff --git a/rrfs-test/CMakeLists.txt b/rrfs-test/CMakeLists.txt index 5b013cdb..c454b656 100644 --- a/rrfs-test/CMakeLists.txt +++ b/rrfs-test/CMakeLists.txt @@ -8,8 +8,9 @@ include(funcs.cmake) # FV3-JEDI tests set(rrfs_fv3jedi_tests) -add_to_dictionary(rrfs_fv3jedi_tests "rrfs_fv3jedi_hyb_2022052619" "fv3jedi_var.x") -add_to_dictionary(rrfs_fv3jedi_tests "rrfs_fv3jedi_letkf_2022052619" "fv3jedi_letkf.x") +add_to_dictionary(rrfs_fv3jedi_tests "rrfs_fv3jedi_2024052700_Ens3Dvar" "fv3jedi_var.x") +add_to_dictionary(rrfs_fv3jedi_tests "rrfs_fv3jedi_2024052700_getkf_observer" "fv3jedi_letkf.x") +add_to_dictionary(rrfs_fv3jedi_tests "rrfs_fv3jedi_2024052700_getkf_solver" "fv3jedi_letkf.x") # MPAS-JEDI tests set(rrfs_mpasjedi_tests) @@ -30,17 +31,18 @@ set (src_yaml "${CMAKE_SOURCE_DIR}/rrfs-test/testinput") if(FV3_DYCORE) message(STATUS "MACHINE_ID is " ${MACHINE_ID}) - if("${MACHINE_ID}" STREQUAL "orion") + set(RESTORE_MPI_ARGS ${MPI_ARGS}) + if("${MACHINE_ID}" STREQUAL "orion" OR "${MACHINE_ID}" STREQUAL "hercules") message(STATUS "Because MACHINE_ID is orion, adding exclusive MPI option" ) - set(RESTORE_MPI_ARGS ${MPI_ARGS}) set(MPI_ARGS "${MPI_ARGS} --exclusive") endif() + set(MPI_ARGS "${MPI_ARGS} --time=00:30:00") get_all_keys(rrfs_fv3jedi_tests caselist) foreach(case ${caselist}) get_from_dictionary(rrfs_fv3jedi_tests case exe) set(casedir "${CMAKE_CURRENT_BINARY_DIR}/rundir-${case}") - set(src_casedir "${rrfs-test_data_local}/rrfs-data_fv3jedi_2022052619") + set(src_casedir "${rrfs-test_data_local}/rrfs-data_fv3jedi_2024052700") if (NOT EXISTS "${casedir}") file(MAKE_DIRECTORY ${casedir}) endif() @@ -51,25 +53,31 @@ if(FV3_DYCORE) file(CREATE_LINK ${CMAKE_SOURCE_DIR}/rrfs-test/testoutput ${casedir}/testoutput SYMBOLIC) file(COPY ${src_yaml}/${case}.yaml DESTINATION ${casedir} ) set(target_test ${case}) - ecbuild_add_test( TARGET ${target_test} - MPI 80 - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/rundir-${target_test} + if ("${target_test}" STREQUAL "rrfs_fv3jedi_2024052700_getkf_solver") + ecbuild_add_test( TARGET ${target_test} + MPI 160 + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/rundir-${target_test} ARGS ${target_test}.yaml + TEST_DEPENDS "rrfs_fv3jedi_2024052700_getkf_observer" COMMAND ${exe} ) + else() + ecbuild_add_test( TARGET ${target_test} + MPI 160 + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/rundir-${target_test} + ARGS ${target_test}.yaml + COMMAND ${exe} ) + endif() endforeach() - - if("${MACHINE_ID}" STREQUAL "orion") - set(MPI_ARGS ${RESTORE_MPI_ARGS}) - endif() + set(MPI_ARGS ${RESTORE_MPI_ARGS}) endif() if(MPAS_DYCORE) message(STATUS "MACHINE_ID is " ${MACHINE_ID}) - if("${MACHINE_ID}" STREQUAL "orion") + set(RESTORE_MPI_ARGS ${MPI_ARGS}) + if("${MACHINE_ID}" STREQUAL "orion" OR "${MACHINE_ID}" STREQUAL "hercules") message(STATUS "Because MACHINE_ID is orion, adding exclusive MPI option" ) - set(RESTORE_MPI_ARGS ${MPI_ARGS}) set(MPI_ARGS "${MPI_ARGS} --exclusive") endif() set(MPI_ARGS "${MPI_ARGS} --ntasks-per-node=4") @@ -111,10 +119,7 @@ if(MPAS_DYCORE) COMMAND ${exe} ) endif() endforeach() - - if("${MACHINE_ID}" STREQUAL "orion") - set(MPI_ARGS ${RESTORE_MPI_ARGS}) - endif() + set(MPI_ARGS ${RESTORE_MPI_ARGS}) ######################## ### Bufr2ioda ctests ### diff --git a/rrfs-test/IODA/offline_domain_check.py b/rrfs-test/IODA/offline_domain_check.py index 3166a45f..9eec6cea 100755 --- a/rrfs-test/IODA/offline_domain_check.py +++ b/rrfs-test/IODA/offline_domain_check.py @@ -187,6 +187,8 @@ def shrink_boundary(points, centroid, factor=0.01): if 'grid_lat' in grid_ds.variables and 'grid_lon' in grid_ds.variables: # FV3 grid grid_lat = grid_ds.variables['grid_lat'][:, :] grid_lon = grid_ds.variables['grid_lon'][:, :] + grid_lat = grid_lat.flatten() + grid_lon = grid_lon.flatten() dycore = "FV3" elif 'latCell' in grid_ds.variables and 'lonCell' in grid_ds.variables: # MPAS grid grid_lat = np.degrees(grid_ds.variables['latCell'][:]) # Convert radians to degrees diff --git a/rrfs-test/scripts/link_fv3jedi_expr.sh b/rrfs-test/scripts/link_fv3jedi_expr.sh new file mode 100755 index 00000000..c3ae7769 --- /dev/null +++ b/rrfs-test/scripts/link_fv3jedi_expr.sh @@ -0,0 +1,31 @@ +#!/bin/bash +RDASApp=$( git rev-parse --show-toplevel 2>/dev/null ) +if [[ -z ${RDASApp} ]]; then + echo "Not under a clone of RDASApp!" + echo "Please delete line 2-7 and set RDASApp variable mannually" + exit +fi + +#RDASApp="/path/to/RDASApp" # set this variable if line2-7 was removed +BUMPLOC="conus12km-401km11levels" +exprname="fv3_2024052700" +expdir=${RDASApp}/expr/${exprname} # can be set to any directory +mkdir -p ${expdir} +cd ${expdir} +echo "expdir is at: ${expdir}" + +${RDASApp}/ush/init.sh +cp -r ${RDASApp}/rrfs-test/testoutput ./testoutput +cp ${RDASApp}/rrfs-test/testinput/rrfs_fv3jedi_2024052700_Ens3Dvar.yaml . +cp ${RDASApp}/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_observer.yaml . +cp ${RDASApp}/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_solver.yaml . +cp ${RDASApp}/rrfs-test/testinput/rrfs_fv3jedi_2024052700_bumploc.yaml ./bumploc.yaml +sed -e "s#@RDASApp@#${RDASApp}#" ${RDASApp}/rrfs-test/scripts/templates/fv3jedi_expr/run_bump.sh > run_bump.sh +sed -e "s#@RDASApp@#${RDASApp}#" ${RDASApp}/rrfs-test/scripts/templates/fv3jedi_expr/run_jedi.sh > run_jedi.sh +cp ${RDASApp}/rrfs-test/ush/colormap.py . +cp ${RDASApp}/rrfs-test/ush/fv3jedi_increment_singleob.py . +cp ${RDASApp}/rrfs-test/ush/fv3jedi_increment_fulldom.py . +ln -snf ${RDASApp}/fix/expr_data/${exprname}/Data Data +ln -snf ${RDASApp}/fix/expr_data/${exprname}/DataFix DataFix +ln -snf ${RDASApp}/fix/expr_data/${exprname}/Data_static Data_static +ln -snf ${RDASApp}/fix/expr_data/${exprname}/INPUT INPUT diff --git a/rrfs-test/scripts/setup_experiment.sh b/rrfs-test/scripts/setup_experiment.sh index 301228a3..f0653db1 100755 --- a/rrfs-test/scripts/setup_experiment.sh +++ b/rrfs-test/scripts/setup_experiment.sh @@ -154,6 +154,7 @@ if [[ $GSI_TEST_DATA == "YES" ]]; then sed -i "s#@YOUR_PATH_TO_GSI@#${YOUR_PATH_TO_GSI}#g" ./run_gsi.sh sed -i "s#@SLURM_ACCOUNT@#${SLURM_ACCOUNT}#g" ./run_gsi.sh sed -i "s#@MACHINE_ID@#${MACHINE_ID}#g" ./run_gsi.sh + sed -i "s#ANAL_TIME@#2022052619#g" ./run_gsi.sh cp -p $YOUR_PATH_TO_RDASAPP/rrfs-test/scripts/templates/run_gsi_ncdiag_template.sh run_gsi_ncdiag.sh sed -i "s#@YOUR_PATH_TO_RDASAPP@#${YOUR_PATH_TO_RDASAPP}#g" ./run_gsi_ncdiag.sh sed -i "s#@MACHINE_ID@#${MACHINE_ID}#g" ./run_gsi_ncdiag.sh diff --git a/rrfs-test/scripts/setup_gsi_parallel.sh b/rrfs-test/scripts/setup_gsi_parallel.sh new file mode 100755 index 00000000..6f201cd3 --- /dev/null +++ b/rrfs-test/scripts/setup_gsi_parallel.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +# This script is used to set up a GSI experiment using the FV3-LAM test data in RDASApp +# This is useful for running parallel GSI experiments against FV3-JEDI +# GSI fix files and namelists follow the configurations from RRFSv1 +# There are two options for YOUR_GSI_CASE right now: +# 2024052700 (matches MPAS-JEDI case) +# 2022052619 + +###### USER INPUT ##### +SLURM_ACCOUNT="fv3-cam" +#YOUR_EXPERIMENT_DIR="/path/to/your/desired/experiment/directory/jedi-assim_test" +YOUR_EXPERIMENT_DIR="/scratch1/BMC/zrtrr/Samuel.Degelia/GSI_parallel" +#YOUR_PATH_TO_GSI="/path/to/your/installation/of/GSI" +YOUR_PATH_TO_GSI="/scratch1/BMC/zrtrr/Samuel.Degelia/GSI" +YOUR_GSI_CASE="2024052700" +####################### + +START=$(date +%s) +RDASApp=$( git rev-parse --show-toplevel 2>/dev/null ) +source $RDASApp/ush/detect_machine.sh + +# At the moment these are the only test data that exists. +if [[ $YOUR_GSI_CASE == "2022052619" ]]; then + TEST_DATA="rrfs-data_fv3jedi_2022052619" +elif [[ $YOUR_GSI_CASE == "2024052700" ]]; then + TEST_DATA="rrfs-data_fv3jedi_2024052700" +else + echo "Not a valid GSI case: ${YOUR_GSI_CASE}." + echo "exiting!!!" + exit 2 +fi + +# Print current settings to the screen. +echo "Your current settings are:" +echo -e "\tYOUR_EXPERIMENT_DIR=$YOUR_EXPERIMENT_DIR" +echo -e "\tSLURM_ACCOUNT=$SLURM_ACCOUNT" +echo -e "\tYOUR_PATH_TO_GSI=$YOUR_PATH_TO_GSI" + +# Get current machine so we can find GSI fix data +case ${MACHINE_ID} in + hera) + RDAS_DATA=/scratch1/NCEPDEV/fv3-cam/RDAS_DATA + ;; + jet) + RDAS_DATA=/lfs4/BMC/nrtrr/RDAS_DATA + ;; + orion|hercules) + RDAS_DATA=/work/noaa/rtrr/RDAS_DATA + ;; + *) + echo "platform not supported: ${MACHINE_ID}" + exit 3 + ;; +esac + +# Ensure experiment directory exists, then move into that space. +mkdir -p $YOUR_EXPERIMENT_DIR +cd $YOUR_EXPERIMENT_DIR + +# Copy GSI data +rsync -a ${RDAS_DATA}/gsi_${YOUR_GSI_CASE}/* . + +# Copy run scripts and plotting scripts +cp -p $RDASApp/rrfs-test/scripts/templates/run_gsi_template.sh run_gsi.sh +sed -i "s#@YOUR_PATH_TO_GSI@#${YOUR_PATH_TO_GSI}#g" ./run_gsi.sh +sed -i "s#@SLURM_ACCOUNT@#${SLURM_ACCOUNT}#g" ./run_gsi.sh +sed -i "s#@MACHINE_ID@#${MACHINE_ID}#g" ./run_gsi.sh +sed -i "s#@ANAL_TIME@#${YOUR_GSI_CASE}#g" ./run_gsi.sh +cp -p $RDASApp/rrfs-test/ush/fv3gsi_increment_fulldom.py . + +echo "done." +END=$(date +%s) +DIFF=$((END - START)) +echo "Time taken to run the code: $DIFF seconds" diff --git a/rrfs-test/scripts/templates/fv3jedi_expr/run_bump.sh b/rrfs-test/scripts/templates/fv3jedi_expr/run_bump.sh new file mode 100755 index 00000000..267912b8 --- /dev/null +++ b/rrfs-test/scripts/templates/fv3jedi_expr/run_bump.sh @@ -0,0 +1,34 @@ +#!/bin/sh +#SBATCH --account=rtrr +#SBATCH --qos=batch # use the normal queue on Gaea +###SBATCH -M c6 # for Gaea +###SBATCH --partition=bigmem +###SBATCH --partition=kjet +###SBATCH --reservation=rrfsens +#SBATCH --ntasks=160 +#SBATCH -t 00:58:00 +#SBATCH --job-name=fv3jedi_bump +#SBATCH -o log.bump +#SBATCH --open-mode=truncate +#SBATCH --cpus-per-task 4 --exclusive + +RDASApp=@RDASApp@ + +if [[ -s /apps/lmod/lmod/init/sh ]]; then + . /apps/lmod/lmod/init/sh +fi + +module purge +source ${RDASApp}/ush/detect_machine.sh +module use ${RDASApp}/modulefiles +module load RDAS/${MACHINE_ID}.intel +module list + +export OOPS_TRACE=1 +export OMP_NUM_THREADS=1 + +ulimit -s unlimited +ulimit -v unlimited +ulimit -a + +srun -l -n 160 ${RDASApp}/build/bin/fv3jedi_error_covariance_toolbox.x ./bumploc.yaml diff --git a/rrfs-test/scripts/templates/fv3jedi_expr/run_jedi.sh b/rrfs-test/scripts/templates/fv3jedi_expr/run_jedi.sh new file mode 100755 index 00000000..0bc87fa2 --- /dev/null +++ b/rrfs-test/scripts/templates/fv3jedi_expr/run_jedi.sh @@ -0,0 +1,38 @@ +#!/bin/sh +#SBATCH --account=rtrr +#SBATCH --qos=batch # use the normal queue on Gaea +###SBATCH -M c6 # for Gaea +###SBATCH --partition=kjet +###SBATCH --reservation=rrfsens +#SBATCH --ntasks=160 +#SBATCH -t 00:58:00 +#SBATCH --job-name=fv3jedi_test +#SBATCH -o log.jedi +#SBATCH --open-mode=truncate +#SBATCH --cpus-per-task 4 --exclusive + +RDASApp=@RDASApp@ + +inputfile=./rrfs_fv3jedi_2024052700_Ens3Dvar.yaml # FOR EnVar +#inputfile=./rrfs_fv3jedi_2024052700_getkf_observer.yaml # FOR GETKF +#inputfile=./rrfs_fv3jedi_2024052700_getkf_solver.yaml # FOR GETKF + +if [[ -s /apps/lmod/lmod/init/sh ]]; then + . /apps/lmod/lmod/init/sh +fi + +module purge +source ${RDASApp}/ush/detect_machine.sh +module use ${RDASApp}/modulefiles +module load RDAS/${MACHINE_ID}.intel +module list + +export OOPS_TRACE=1 +export OMP_NUM_THREADS=1 + +ulimit -s unlimited +ulimit -v unlimited +ulimit -a + +srun -l -n 160 ${RDASApp}/build/bin/fv3jedi_var.x ./$inputfile log.out # FOR HYB/ENVAR +#srun -l -n 160 ${RDASApp}/build/bin/fv3jedi_letkf.x ./$inputfile log.out # FOR GETKF diff --git a/rrfs-test/scripts/templates/run_gsi_template.sh b/rrfs-test/scripts/templates/run_gsi_template.sh index 6838be7c..b43a58c9 100755 --- a/rrfs-test/scripts/templates/run_gsi_template.sh +++ b/rrfs-test/scripts/templates/run_gsi_template.sh @@ -30,7 +30,7 @@ cp -p Data/bkg/* . srun --label @YOUR_PATH_TO_GSI@/build/src/gsi/gsi.x -ANAL_TIME=2022052619 +ANAL_TIME=@ANAL_TIME@ # Loop over first and last outer loops to generate innovation # diagnostic files for indicated observation types (groups) # diff --git a/rrfs-test/testinput/rrfs_fv3jedi_2024052700_Ens3Dvar.yaml b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_Ens3Dvar.yaml new file mode 100644 index 00000000..1b8982ca --- /dev/null +++ b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_Ens3Dvar.yaml @@ -0,0 +1,2967 @@ +cost function: + cost type: 3D-Var + time window: + begin: &analysisDate 2024-05-26T21:00:00Z + length: PT6H + analysis variables: &3dvars [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] + + geometry: + fms initialization: + namelist filename: DataFix/fmsmpp.nml + field table filename: DataFix/field_table + namelist filename: DataFix/input_lam_C775_NP16X10.nml + field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml + akbk: DataFix/fix/akbk66.nc + # input.nml + npz: 65 + layout: [16,10] + io_layout: [1,1] + ntiles: 1 + + + background: + datetime: 2024-05-27T00:00:00Z + filetype: fms restart + datapath: Data/bkg + filename_core: 20240527.000000.fv_core.res.tile1.nc + filename_trcr: 20240527.000000.fv_tracer.res.tile1.nc + filename_sfcd: 20240527.000000.sfc_data.nc + filename_sfcw: 20240527.000000.fv_srf_wnd.res.tile1.nc + filename_cplr: 20240527.000000.coupler.res + state variables: [eastward_wind,northward_wind,u_component_of_native_D_grid_wind,v_component_of_native_D_grid_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio,phis,f10m] + background error: + covariance model: ensemble + members from template: + template: + datetime: 2024-05-27T00:00:00Z + filetype: fms restart + state variables: *3dvars + datapath: Data/inputs/mem%mem%/ + filename_core: 20240527.000000.fv_core.res.tile1.nc + filename_trcr: 20240527.000000.fv_tracer.res.tile1.nc + filename_sfcd: 20240527.000000.sfc_data.nc + filename_sfcw: 20240527.000000.fv_srf_wnd.res.tile1.nc + filename_cplr: 20240527.000000.coupler.res + pattern: "%mem%" + nmembers: 20 + zero padding: 3 + localization: + localization method: SABER + saber central block: + saber block name: BUMP_NICAS + active variables: *3dvars + read: + io: + files prefix: DataFix/bump_new/bumploc_300km_0.3vloc + drivers: + multivariate strategy: duplicated + read local nicas: true + model: + level for 2d variables: last + observations: + observers: + - obs space: + name: aircar + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircar_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_airTemperature_133.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 133 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.4088, 1.3361, 1.2395, 1.1379, 1.0505, 0.98154, 0.92451, 0.87349, 0.82829, 0.79582, 0.77562, 0.75911, 0.7408, 0.72571, 0.72719, 0.75204, 0.80129, 0.8696, 0.93292, 0.9672, 0.9831, 0.99132, 0.99603, 0.99854, 0.99963, 0.99997, 1.0, 0.99999, 0.99995, 0.99985, 0.99958, 0.99914, 0.99869] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircar + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircar_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_uv_233.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 233 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 233 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 233 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 233 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 233 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 233 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircar + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircar_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_specificHumidity_133.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 133 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 133 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [0.19455, 0.19064, 0.18488, 0.17877, 0.17342, 0.16976, 0.16777, 0.16696, 0.16605, 0.16522, 0.16637, 0.17086, 0.17791, 0.18492, 0.18996, 0.19294, 0.19447, 0.19597, 0.19748, 0.19866, 0.19941, 0.19979, 0.19994, 0.19999, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + # Reject specificHumidity with ObsType=130,131,135 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 130,131,135 + action: + name: reject + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 133 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_130.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 130 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.4618, 2.4244, 2.3481, 2.2352, 2.0999, 1.9647, 1.8522, 1.7754, 1.7323, 1.7134, 1.7093, 1.7131, 1.717, 1.7061, 1.655, 1.5397, 1.3754, 1.2567, 1.2116, 1.252, 1.37, 1.501, 1.6004, 1.6588, 1.6865, 1.6969, 1.6998, 1.7001, 1.7, 1.7, 1.7003, 1.6999, 1.6956] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 130 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_131.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 131 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.3385, 1.219, 1.0515, 0.8746, 0.73725, 0.66965, 0.66362, 0.66525, 0.65262, 0.63131, 0.59435, 0.54816, 0.51139, 0.49975, 0.51952, 0.59104, 0.71862, 0.85608, 0.95397, 1.0002, 1.0124, 1.0103, 1.0055, 1.0021, 1.0005, 1.0, 0.9999, 0.99991, 0.99994, 1.0, 1.0002, 0.99994, 0.99744] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 131 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -1.00 + maxvalue: 1.00 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_134.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 134 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.3806, 1.2566, 1.1252, 1.0055, 0.90851, 0.83495, 0.78541, 0.75802, 0.7454, 0.74532, 0.76976, 0.83782, 0.95649, 1.108, 1.2625, 1.3975, 1.5033, 1.5792, 1.6299, 1.6614, 1.6799, 1.6901, 1.6953, 1.6979, 1.6991, 1.6995, 1.6997, 1.6996, 1.6993, 1.6989, 1.6984, 1.6968, 1.6914] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_135.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 135 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.4544, 1.3404, 1.23, 1.1433, 1.0834, 1.046, 1.0241, 1.0095, 0.99605, 0.97832, 0.95123, 0.91277, 0.86866, 0.83423, 0.82956, 0.86953, 0.95611, 1.078, 1.2178, 1.3527, 1.4663, 1.5524, 1.6121, 1.6506, 1.6737, 1.6866, 1.6934, 1.6967, 1.698, 1.6984, 1.6981, 1.6967, 1.6914] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 135 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_specificHumidity_134.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 134 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 134 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [0.10178, 0.090966, 0.082655, 0.078617, 0.078063, 0.079308, 0.08107, 0.082841, 0.084912, 0.088692, 0.095913, 0.10801, 0.12459, 0.14281, 0.15959, 0.17319, 0.1832, 0.19002, 0.19437, 0.19699, 0.19847, 0.19926, 0.19966, 0.19985, 0.19993, 0.19996, 0.19997, 0.19995, 0.19992, 0.19988, 0.19981, 0.19963, 0.19899] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + # Reject specificHumidity with ObsType=130,131,135 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 130,131,135 + action: + name: reject + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 134 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_230.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 230 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 230 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 230 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 230 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 230 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 230 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_231.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 231 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 231 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 231 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 231 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 231 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 231 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -1.00 + maxvalue: 1.00 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_234.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 234 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.8901, 3.7615, 3.7452, 3.8681, 4.0863, 4.3283, 4.5455, 4.7094, 4.8036, 4.8388, 4.8463, 4.8723, 4.9327, 5.0201, 5.1193, 5.2166, 5.302, 5.3703, 5.4203, 5.454, 5.475, 5.4872, 5.4938, 5.4971, 5.4986, 5.4992, 5.4991, 5.4986, 5.4978, 5.4965, 5.4947, 5.4897, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 234 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 234 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 234 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.8901, 3.7615, 3.7452, 3.8681, 4.0863, 4.3283, 4.5455, 4.7094, 4.8036, 4.8388, 4.8463, 4.8723, 4.9327, 5.0201, 5.1193, 5.2166, 5.302, 5.3703, 5.4203, 5.454, 5.475, 5.4872, 5.4938, 5.4971, 5.4986, 5.4992, 5.4991, 5.4986, 5.4978, 5.4965, 5.4947, 5.4897, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 234 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 234 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_235.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 235 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.9845, 3.8612, 3.7929, 3.7968, 3.8561, 3.9456, 4.0321, 4.0893, 4.1115, 4.103, 4.069, 4.024, 3.9821, 3.9532, 3.9523, 4.001, 4.1203, 4.3179, 4.5673, 4.8193, 5.0368, 5.2042, 5.3219, 5.3986, 5.4452, 5.4718, 5.4858, 5.4924, 5.495, 5.4954, 5.4942, 5.4895, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 235 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 235 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 235 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.9845, 3.8612, 3.7929, 3.7968, 3.8561, 3.9456, 4.0321, 4.0893, 4.1115, 4.103, 4.069, 4.024, 3.9821, 3.9532, 3.9523, 4.001, 4.1203, 4.3179, 4.5673, 4.8193, 5.0368, 5.2042, 5.3219, 5.3986, 5.4452, 5.4718, 5.4858, 5.4924, 5.495, 5.4954, 5.4942, 5.4895, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 235 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 235 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_airTemperature_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: assign error + error parameter: 4.0 # K + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: inflate error + #inflation factor: 1.09757 + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_specificHumidity_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 188 + action: + name: assign error + error parameter: 0.07 # GSI errtable is units of RH %/10 so 0.7 --> 0.07 + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 188 + # action: + # name: inflate error + # #inflation factor: 1.7143 + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_stationPressure_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [stationPressure] + simulated variables: [stationPressure] + + obs operator: + name: SfcPCorrected + da_psfc_scheme: GSI + geovar_sfc_geomz: geopotential_height_at_surface + geovar_geomz: geopotential_height + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # stationPressure + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: assign error + ##error parameter: 0.5389 #mb (units in GSI oberrtable) + error parameter: 53.89 #Pa + #error function: + # name: ObsFunction/ObsErrorModelStepwiseLinear + # options: + # xvar: + # name: ObsValue/stationPressure + # xvals: [60000, 59999] + # #errors: [53.89, 0.10000E+12] + # errors: [53.89, 53.89] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: stationPressure + # where: + # - variable: ObsType/stationPressure + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [stationPressure] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on setupps.f90 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: inflate error + #inflation factor: 1.7143 + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: stationPressure + minvalue: 0.0 + maxvalue: 120000.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: stationPressure + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/stationPressure + # - variable: ObsValue/stationPressure + # - variable: QCflagsData/stationPressure + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_uv_288.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 288 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: assign error + error parameter: 3.0 # m/s + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 288 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 288 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 288 + action: + name: assign error + error parameter: 3.0 # m/s + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 288 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 288 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + + +variational: + minimizer: + algorithm: DRPCG + iterations: + - ninner: 5 + gradient norm reduction: 1e-60 + geometry: + fms initialization: + namelist filename: DataFix/fmsmpp.nml + field table filename: DataFix/field_table + namelist filename: DataFix/input_lam_C775_NP16X10.nml + field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml + akbk: DataFix/fix/akbk66.nc + # input.nml + npz: 65 + layout: [16,10] + io_layout: [1,1] + ntiles: 1 + fieldsets: + - fieldset: DataFix/fix/dynamics_lam_cmaq.yaml + diagnostics: + departures: ombg + - ninner: 5 + gradient norm reduction: 1e-60 + geometry: + fms initialization: + namelist filename: DataFix/fmsmpp.nml + field table filename: DataFix/field_table + namelist filename: DataFix/input_lam_C775_NP16X10.nml + field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml + akbk: DataFix/fix/akbk66.nc + # input.nml + npz: 65 + layout: [16,10] + io_layout: [1,1] + ntiles: 1 + fieldsets: + - fieldset: DataFix/fix/dynamics_lam_cmaq.yaml +final: + diagnostics: + departures: oman + +output: + filetype: fms restart + datapath: ./ + prefix: ens3dvar-fv3_lam-C775 #Ens3dvar-fv3_lam-C775 + frequency: PT1H +test: + reference filename: testoutput/rrfs-fv3jedi-ens3dvar.ref + test output filename: rrfs-fv3jedi-ens3dvar.out + float relative tolerance: 1.0e-3 + float absolute tolerance: 1.0e-6 + diff --git a/rrfs-test/testinput/rrfs_fv3jedi_bumploc_2022052619.yaml b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_bumploc.yaml similarity index 58% rename from rrfs-test/testinput/rrfs_fv3jedi_bumploc_2022052619.yaml rename to rrfs-test/testinput/rrfs_fv3jedi_2024052700_bumploc.yaml index bbf273b4..6f88db96 100644 --- a/rrfs-test/testinput/rrfs_fv3jedi_bumploc_2022052619.yaml +++ b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_bumploc.yaml @@ -2,73 +2,58 @@ geometry: fms initialization: namelist filename: DataFix/fmsmpp.nml field table filename: DataFix/field_table - namelist filename: DataFix/input_lam_C775.nml - akbk: DataFix/fix/akbk61.nc + namelist filename: DataFix/input_lam_C775_NP16X10.nml + akbk: DataFix/fix/akbk66.nc field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml # input.nml - npz: 60 - layout: [8,10] + npz: 65 + layout: [16,10] io_layout: [1,1] ntiles: 1 background: - datetime: 2022-05-26T19:00:00Z + datetime: 2024-05-27T00:00:00Z filetype: fms restart datapath: Data/bkg - filename_core: fv3_dynvars.nc - filename_trcr: fv3_tracer.nc - filename_sfcd: fv3_sfcdata.nc - filename_cplr: coupler.res - state variables: [air_temperature,surface_pressure] + filename_core: 20240527.000000.fv_core.res.tile1.nc + filename_trcr: 20240527.000000.fv_tracer.res.tile1.nc + filename_sfcd: 20240527.000000.sfc_data.nc + filename_cplr: 20240527.000000.coupler.res + state variables: [eastward_wind,northward_wind,u_component_of_native_D_grid_wind,v_component_of_native_D_grid_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] background error: covariance model: SABER saber central block: saber block name: BUMP_NICAS calibration: general: - universe length-scale: 250.0e3 + universe length-scale: 300.0e3 io: - files prefix: Data/bump_new/fv3jedi_bumpparameters_nicas_lam_atm - alias: - - in code: air_temperature - in file: fixed_250km_0.3 - - in code: surface_pressure - in file: fixed_250km + files prefix: bumploc_300km_0.3vloc drivers: - multivariate strategy: univariate + multivariate strategy: duplicated compute nicas: true write local nicas: true + internal dirac test: false nicas: - resolution: 6 + resolution: 8.0 explicit length-scales: true horizontal length-scale: - - groups: - - air_temperature - value: 250000.0 - - groups: - - surface_pressure - value: 250000.0 - + - groups: [common] + value: 300000.0 vertical length-scale: - - groups: - - air_temperature + - groups: [common] value: 0.3 - - groups: - - surface_pressure - value: 0.0 - - grids: - - model: - variables: - - air_temperature - - model: - variables: - - surface_pressure +# grids: +# - model: +# variables: +# - air_temperature +# - model: +# variables: +# - surface_pressure output model files: - parameter: cor_rh file: filetype: fms restart - datapath: Data/bump_new/ filename_core: bumpparameters_nicas_lam_atm.cor_rh.fv_core.res.nc filename_trcr: bumpparameters_nicas_lam_atm.cor_rh.fv_tracer.res.nc filename_sfcd: bumpparameters_nicas_lam_atm.cor_rh.sfc_data.nc @@ -77,7 +62,6 @@ background error: - parameter: cor_rv file: filetype: fms restart - datapath: Data/bump_new/ filename_core: bumpparameters_nicas_lam_atm.cor_rv.fv_core.res.nc filename_trcr: bumpparameters_nicas_lam_atm.cor_rv.fv_tracer.res.nc filename_sfcd: bumpparameters_nicas_lam_atm.cor_rv.sfc_data.nc diff --git a/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_observer.yaml b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_observer.yaml new file mode 100644 index 00000000..e36f8f90 --- /dev/null +++ b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_observer.yaml @@ -0,0 +1,2929 @@ +time window: + begin: &analysisDate 2024-05-26T23:00:00Z + length: PT2H +increment variables: [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] +geometry: + fms initialization: + namelist filename: DataFix/fmsmpp.nml + field table filename: DataFix/field_table + namelist filename: DataFix/input_lam_C775_NP16X10.nml + field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml + akbk: DataFix/fix/akbk66.nc + # input.nml + npz: 65 + layout: [16,10] + io_layout: [1,1] + ntiles: 1 + fieldsets: + - fieldset: DataFix/fix/dynamics_lam_cmaq.yaml + + +background: + datetime: 2024-05-27T00:00:00Z + filetype: fms restart + members from template: + template: + datetime: 2024-05-27T00:00:00Z + filetype: fms restart + state variables: [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio,phis,f10m] + datapath: Data/inputs/mem%mem%/ + filename_core: 20240527.000000.fv_core.res.tile1.nc + filename_trcr: 20240527.000000.fv_tracer.res.tile1.nc + filename_sfcd: 20240527.000000.sfc_data.nc + filename_sfcw: 20240527.000000.fv_srf_wnd.res.tile1.nc + filename_cplr: 20240527.000000.coupler.res + pattern: "%mem%" + nmembers: 20 + zero padding: 3 + +observations: + observers: + - obs space: + name: aircar + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircar_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_airTemperature_133.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 133 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.4088, 1.3361, 1.2395, 1.1379, 1.0505, 0.98154, 0.92451, 0.87349, 0.82829, 0.79582, 0.77562, 0.75911, 0.7408, 0.72571, 0.72719, 0.75204, 0.80129, 0.8696, 0.93292, 0.9672, 0.9831, 0.99132, 0.99603, 0.99854, 0.99963, 0.99997, 1.0, 0.99999, 0.99995, 0.99985, 0.99958, 0.99914, 0.99869] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircar + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircar_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_uv_233.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 233 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 233 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 233 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 233 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 233 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 233 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircar + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircar_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_specificHumidity_133.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 133 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 133 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [0.19455, 0.19064, 0.18488, 0.17877, 0.17342, 0.16976, 0.16777, 0.16696, 0.16605, 0.16522, 0.16637, 0.17086, 0.17791, 0.18492, 0.18996, 0.19294, 0.19447, 0.19597, 0.19748, 0.19866, 0.19941, 0.19979, 0.19994, 0.19999, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + # Reject specificHumidity with ObsType=130,131,135 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 130,131,135 + action: + name: reject + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 133 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_130.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 130 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.4618, 2.4244, 2.3481, 2.2352, 2.0999, 1.9647, 1.8522, 1.7754, 1.7323, 1.7134, 1.7093, 1.7131, 1.717, 1.7061, 1.655, 1.5397, 1.3754, 1.2567, 1.2116, 1.252, 1.37, 1.501, 1.6004, 1.6588, 1.6865, 1.6969, 1.6998, 1.7001, 1.7, 1.7, 1.7003, 1.6999, 1.6956] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 130 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_131.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 131 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.3385, 1.219, 1.0515, 0.8746, 0.73725, 0.66965, 0.66362, 0.66525, 0.65262, 0.63131, 0.59435, 0.54816, 0.51139, 0.49975, 0.51952, 0.59104, 0.71862, 0.85608, 0.95397, 1.0002, 1.0124, 1.0103, 1.0055, 1.0021, 1.0005, 1.0, 0.9999, 0.99991, 0.99994, 1.0, 1.0002, 0.99994, 0.99744] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 131 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -1.00 + maxvalue: 1.00 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_134.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 134 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.3806, 1.2566, 1.1252, 1.0055, 0.90851, 0.83495, 0.78541, 0.75802, 0.7454, 0.74532, 0.76976, 0.83782, 0.95649, 1.108, 1.2625, 1.3975, 1.5033, 1.5792, 1.6299, 1.6614, 1.6799, 1.6901, 1.6953, 1.6979, 1.6991, 1.6995, 1.6997, 1.6996, 1.6993, 1.6989, 1.6984, 1.6968, 1.6914] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_135.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 135 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.4544, 1.3404, 1.23, 1.1433, 1.0834, 1.046, 1.0241, 1.0095, 0.99605, 0.97832, 0.95123, 0.91277, 0.86866, 0.83423, 0.82956, 0.86953, 0.95611, 1.078, 1.2178, 1.3527, 1.4663, 1.5524, 1.6121, 1.6506, 1.6737, 1.6866, 1.6934, 1.6967, 1.698, 1.6984, 1.6981, 1.6967, 1.6914] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 135 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_specificHumidity_134.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 134 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 134 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [0.10178, 0.090966, 0.082655, 0.078617, 0.078063, 0.079308, 0.08107, 0.082841, 0.084912, 0.088692, 0.095913, 0.10801, 0.12459, 0.14281, 0.15959, 0.17319, 0.1832, 0.19002, 0.19437, 0.19699, 0.19847, 0.19926, 0.19966, 0.19985, 0.19993, 0.19996, 0.19997, 0.19995, 0.19992, 0.19988, 0.19981, 0.19963, 0.19899] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + # Reject specificHumidity with ObsType=130,131,135 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 130,131,135 + action: + name: reject + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 134 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_230.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 230 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 230 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 230 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 230 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 230 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 230 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_231.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 231 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 231 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 231 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 231 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 231 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 231 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -1.00 + maxvalue: 1.00 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_234.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 234 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.8901, 3.7615, 3.7452, 3.8681, 4.0863, 4.3283, 4.5455, 4.7094, 4.8036, 4.8388, 4.8463, 4.8723, 4.9327, 5.0201, 5.1193, 5.2166, 5.302, 5.3703, 5.4203, 5.454, 5.475, 5.4872, 5.4938, 5.4971, 5.4986, 5.4992, 5.4991, 5.4986, 5.4978, 5.4965, 5.4947, 5.4897, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 234 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 234 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 234 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.8901, 3.7615, 3.7452, 3.8681, 4.0863, 4.3283, 4.5455, 4.7094, 4.8036, 4.8388, 4.8463, 4.8723, 4.9327, 5.0201, 5.1193, 5.2166, 5.302, 5.3703, 5.4203, 5.454, 5.475, 5.4872, 5.4938, 5.4971, 5.4986, 5.4992, 5.4991, 5.4986, 5.4978, 5.4965, 5.4947, 5.4897, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 234 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 234 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_aircft_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_235.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 235 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.9845, 3.8612, 3.7929, 3.7968, 3.8561, 3.9456, 4.0321, 4.0893, 4.1115, 4.103, 4.069, 4.024, 3.9821, 3.9532, 3.9523, 4.001, 4.1203, 4.3179, 4.5673, 4.8193, 5.0368, 5.2042, 5.3219, 5.3986, 5.4452, 5.4718, 5.4858, 5.4924, 5.495, 5.4954, 5.4942, 5.4895, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 235 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 235 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 235 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.9845, 3.8612, 3.7929, 3.7968, 3.8561, 3.9456, 4.0321, 4.0893, 4.1115, 4.103, 4.069, 4.024, 3.9821, 3.9532, 3.9523, 4.001, 4.1203, 4.3179, 4.5673, 4.8193, 5.0368, 5.2042, 5.3219, 5.3986, 5.4452, 5.4718, 5.4858, 5.4924, 5.495, 5.4954, 5.4942, 5.4895, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 235 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 235 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_airTemperature_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: assign error + error parameter: 4.0 # K + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: inflate error + #inflation factor: 1.09757 + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_specificHumidity_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 188 + action: + name: assign error + error parameter: 0.07 # GSI errtable is units of RH %/10 so 0.7 --> 0.07 + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 188 + # action: + # name: inflate error + # #inflation factor: 1.7143 + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_stationPressure_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [stationPressure] + simulated variables: [stationPressure] + + obs operator: + name: SfcPCorrected + da_psfc_scheme: GSI + geovar_sfc_geomz: geopotential_height_at_surface + geovar_geomz: geopotential_height + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # stationPressure + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: assign error + ##error parameter: 0.5389 #mb (units in GSI oberrtable) + error parameter: 53.89 #Pa + #error function: + # name: ObsFunction/ObsErrorModelStepwiseLinear + # options: + # xvar: + # name: ObsValue/stationPressure + # xvals: [60000, 59999] + # #errors: [53.89, 0.10000E+12] + # errors: [53.89, 53.89] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: stationPressure + # where: + # - variable: ObsType/stationPressure + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [stationPressure] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on setupps.f90 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: inflate error + #inflation factor: 1.7143 + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: stationPressure + minvalue: 0.0 + maxvalue: 120000.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: stationPressure + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/stationPressure + # - variable: ObsValue/stationPressure + # - variable: QCflagsData/stationPressure + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "RoundRobin" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "Data/obs_ctest/ioda_msonet_dc.nc" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_uv_288.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 288 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: assign error + error parameter: 3.0 # m/s + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 288 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 288 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 288 + action: + name: assign error + error parameter: 3.0 # m/s + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 288 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 288 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + + +driver: + run as observer only: true + update obs config with geometry info: false + +local ensemble DA: + solver: GETKF + use linear observer: true + vertical localization: # current settings use 12 modulated members + fraction of retained variance: 0.850 + lengthscale: 0.50 + lengthscale units: logp + inflation: + rtps: 0.95 + rtpp: 0.6 + mult: 1.1 + +output increment: + filetype: fms restart + datapath: ./ + prefix: letkf-inc-fv3_lam-C775 + +output mean prior: + filetype: fms restart + datapath: ./ + prefix: letkf-meanprior-fv3_lam-C775 + +output: # for outputting mean posterior + filetype: fms restart + datapath: ./ + prefix: letkf-meanposterior-fv3_lam-C775 + +test: + reference filename: testoutput/rrfs-fv3jedi-getkf-observer.ref + test output filename: ./rrfs-fv3jedi-getkf-observer.out + float relative tolerance: 1.0e-3 + float absolute tolerance: 1.0e-6 + diff --git a/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_solver.yaml b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_solver.yaml new file mode 100644 index 00000000..ed70b4d9 --- /dev/null +++ b/rrfs-test/testinput/rrfs_fv3jedi_2024052700_getkf_solver.yaml @@ -0,0 +1,2932 @@ +time window: + begin: &analysisDate 2024-05-26T23:00:00Z + length: PT2H +increment variables: [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] +geometry: + fms initialization: + namelist filename: DataFix/fmsmpp.nml + field table filename: DataFix/field_table + namelist filename: DataFix/input_lam_C775_NP16X10.nml + field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml + akbk: DataFix/fix/akbk66.nc + # input.nml + npz: 65 + layout: [16,10] + io_layout: [1,1] + ntiles: 1 + fieldsets: + - fieldset: DataFix/fix/dynamics_lam_cmaq.yaml + + +background: + datetime: 2024-05-27T00:00:00Z + filetype: fms restart + members from template: + template: + datetime: 2024-05-27T00:00:00Z + filetype: fms restart + state variables: [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio,phis,f10m] + datapath: Data/inputs/mem%mem%/ + filename_core: 20240527.000000.fv_core.res.tile1.nc + filename_trcr: 20240527.000000.fv_tracer.res.tile1.nc + filename_sfcd: 20240527.000000.sfc_data.nc + filename_sfcw: 20240527.000000.fv_srf_wnd.res.tile1.nc + filename_cplr: 20240527.000000.coupler.res + pattern: "%mem%" + nmembers: 20 + zero padding: 3 + +observations: + observers: + - obs space: + name: aircar + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCAR_hofxs_airTemperature_133.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_airTemperature_133.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 133 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.4088, 1.3361, 1.2395, 1.1379, 1.0505, 0.98154, 0.92451, 0.87349, 0.82829, 0.79582, 0.77562, 0.75911, 0.7408, 0.72571, 0.72719, 0.75204, 0.80129, 0.8696, 0.93292, 0.9672, 0.9831, 0.99132, 0.99603, 0.99854, 0.99963, 0.99997, 1.0, 0.99999, 0.99995, 0.99985, 0.99958, 0.99914, 0.99869] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 133 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircar + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCAR_hofxs_uv_233.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_uv_233.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 233 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 233 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 233 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 233 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214, 2.3214] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 233 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 233 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 233 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircar + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCAR_hofxs_specificHumidity_133.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCAR_hofxs_specificHumidity_133.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 133 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 133 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [0.19455, 0.19064, 0.18488, 0.17877, 0.17342, 0.16976, 0.16777, 0.16696, 0.16605, 0.16522, 0.16637, 0.17086, 0.17791, 0.18492, 0.18996, 0.19294, 0.19447, 0.19597, 0.19748, 0.19866, 0.19941, 0.19979, 0.19994, 0.19999, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 133 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + # Reject specificHumidity with ObsType=130,131,135 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 130,131,135 + action: + name: reject + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 133 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/aircar_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_airTemperature_130.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_130.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 130 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [2.4618, 2.4244, 2.3481, 2.2352, 2.0999, 1.9647, 1.8522, 1.7754, 1.7323, 1.7134, 1.7093, 1.7131, 1.717, 1.7061, 1.655, 1.5397, 1.3754, 1.2567, 1.2116, 1.252, 1.37, 1.501, 1.6004, 1.6588, 1.6865, 1.6969, 1.6998, 1.7001, 1.7, 1.7, 1.7003, 1.6999, 1.6956] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 130 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 130 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_airTemperature_131.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_131.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 131 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.3385, 1.219, 1.0515, 0.8746, 0.73725, 0.66965, 0.66362, 0.66525, 0.65262, 0.63131, 0.59435, 0.54816, 0.51139, 0.49975, 0.51952, 0.59104, 0.71862, 0.85608, 0.95397, 1.0002, 1.0124, 1.0103, 1.0055, 1.0021, 1.0005, 1.0, 0.9999, 0.99991, 0.99994, 1.0, 1.0002, 0.99994, 0.99744] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 131 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 131 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -1.00 + maxvalue: 1.00 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_airTemperature_134.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_134.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 134 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.3806, 1.2566, 1.1252, 1.0055, 0.90851, 0.83495, 0.78541, 0.75802, 0.7454, 0.74532, 0.76976, 0.83782, 0.95649, 1.108, 1.2625, 1.3975, 1.5033, 1.5792, 1.6299, 1.6614, 1.6799, 1.6901, 1.6953, 1.6979, 1.6991, 1.6995, 1.6997, 1.6996, 1.6993, 1.6989, 1.6984, 1.6968, 1.6914] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 134 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_airTemperature_135.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_airTemperature_135.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 135 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [1.4544, 1.3404, 1.23, 1.1433, 1.0834, 1.046, 1.0241, 1.0095, 0.99605, 0.97832, 0.95123, 0.91277, 0.86866, 0.83423, 0.82956, 0.86953, 0.95611, 1.078, 1.2178, 1.3527, 1.4663, 1.5524, 1.6121, 1.6506, 1.6737, 1.6866, 1.6934, 1.6967, 1.698, 1.6984, 1.6981, 1.6967, 1.6914] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 135 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/airTemperature + is_in: 135 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_specificHumidity_134.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_specificHumidity_134.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 134 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 134 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [0.10178, 0.090966, 0.082655, 0.078617, 0.078063, 0.079308, 0.08107, 0.082841, 0.084912, 0.088692, 0.095913, 0.10801, 0.12459, 0.14281, 0.15959, 0.17319, 0.1832, 0.19002, 0.19437, 0.19699, 0.19847, 0.19926, 0.19966, 0.19985, 0.19993, 0.19996, 0.19997, 0.19995, 0.19992, 0.19988, 0.19981, 0.19963, 0.19899] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 134 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + # Reject specificHumidity with ObsType=130,131,135 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 130,131,135 + action: + name: reject + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 134 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_uv_230.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_230.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 230 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 230 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 230 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 230 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951, 3.2951] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 230 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 230 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 230 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_uv_231.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_231.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 231 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 231 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 231 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 231 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567, 5.6567] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 231 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 231 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -1.00 + maxvalue: 1.00 + where: + - variable: ObsType/windEastward + is_in: 231 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_uv_234.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_234.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 234 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.8901, 3.7615, 3.7452, 3.8681, 4.0863, 4.3283, 4.5455, 4.7094, 4.8036, 4.8388, 4.8463, 4.8723, 4.9327, 5.0201, 5.1193, 5.2166, 5.302, 5.3703, 5.4203, 5.454, 5.475, 5.4872, 5.4938, 5.4971, 5.4986, 5.4992, 5.4991, 5.4986, 5.4978, 5.4965, 5.4947, 5.4897, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 234 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 234 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 234 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.8901, 3.7615, 3.7452, 3.8681, 4.0863, 4.3283, 4.5455, 4.7094, 4.8036, 4.8388, 4.8463, 4.8723, 4.9327, 5.0201, 5.1193, 5.2166, 5.302, 5.3703, 5.4203, 5.454, 5.475, 5.4872, 5.4938, 5.4971, 5.4986, 5.4992, 5.4991, 5.4986, 5.4978, 5.4965, 5.4947, 5.4897, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 234 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 234 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 234 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: aircft + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/AIRCFT_hofxs_uv_235.nc4" + obsdataout: + engine: + type: H5File + obsfile: AIRCFT_hofxs_uv_235.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/aircraft_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 235 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.9845, 3.8612, 3.7929, 3.7968, 3.8561, 3.9456, 4.0321, 4.0893, 4.1115, 4.103, 4.069, 4.024, 3.9821, 3.9532, 3.9523, 4.001, 4.1203, 4.3179, 4.5673, 4.8193, 5.0368, 5.2042, 5.3219, 5.3986, 5.4452, 5.4718, 5.4858, 5.4924, 5.495, 5.4954, 5.4942, 5.4895, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 235 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 235 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 235 + action: + name: assign error + error function: + name: ObsFunction/ObsErrorModelStepwiseLinear + options: + xvar: + name: MetaData/pressure + xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] + errors: [3.9845, 3.8612, 3.7929, 3.7968, 3.8561, 3.9456, 4.0321, 4.0893, 4.1115, 4.103, 4.069, 4.024, 3.9821, 3.9532, 3.9523, 4.001, 4.1203, 4.3179, 4.5673, 4.8193, 5.0368, 5.2042, 5.3219, 5.3986, 5.4452, 5.4718, 5.4858, 5.4924, 5.495, 5.4954, 5.4942, 5.4895, 5.472] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 235 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 235 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 10.0 + threshold: 10.0 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.75 + maxvalue: 0.75 + where: + - variable: ObsType/windEastward + is_in: 235 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/aircft_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/MSONET_hofxs_airTemperature_188.nc4" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_airTemperature_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [airTemperature] + simulated variables: [airTemperature] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_tsen_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: airTemperature + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # airTemperature + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: assign error + error parameter: 4.0 # K + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: airTemperature + # where: + # - variable: ObsType/airTemperature + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [airTemperature] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupt.f90) + - filter: Perform Action + filter variables: + - name: airTemperature + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: inflate error + #inflation factor: 1.09757 + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: airTemperature + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + minvalue: 100 + maxvalue: 400 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: airTemperature + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/airTemperature + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/airTemperature + # - variable: ObsValue/airTemperature + # - variable: QCflagsData/airTemperature + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/MSONET_hofxs_specificHumidity_188.nc4" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_specificHumidity_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [specificHumidity] + simulated variables: [specificHumidity] + + obs operator: + name: Composite + components: + - name: VertInterp + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_q_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: specificHumidity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # specificHumidity + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: specificHumidity + where: + - variable: ObsType/specificHumidity + is_in: 188 + action: + name: assign error + error parameter: 0.07 # GSI errtable is units of RH %/10 so 0.7 --> 0.07 + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [specificHumidity] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + ## error inflation based on pressure check (setupq.f90) + #- filter: Perform Action + # filter variables: + # - name: specificHumidity + # where: + # - variable: ObsType/specificHumidity + # is_in: 188 + # action: + # name: inflate error + # #inflation factor: 1.7143 + # inflation variable: + # name: ObsFunction/ObsErrorFactorPressureCheck + # options: + # variable: specificHumidity + # inflation factor: 0.0 + # #geovar_sfc_geomz: surface_geometric_height #FV3 + # #geovar_sfc_geomz: surface_altitude #MPAS + # request_saturation_specific_humidity_geovals: true + # defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + minvalue: 0.0 + maxvalue: 1.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: specificHumidity + absolute threshold: 7.0 + threshold: 7.0 + where: + - variable: ObsType/specificHumidity + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/specificHumidity + # - variable: ObsValue/specificHumidity + # - variable: QCflagsData/specificHumidity + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/MSONET_hofxs_stationPressure_188.nc4" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_stationPressure_188.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [stationPressure] + simulated variables: [stationPressure] + + obs operator: + name: SfcPCorrected + da_psfc_scheme: GSI + geovar_sfc_geomz: geopotential_height_at_surface + geovar_geomz: geopotential_height + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # stationPressure + # ------------------ + # Initial error assignment + # 188 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: assign error + ##error parameter: 0.5389 #mb (units in GSI oberrtable) + error parameter: 53.89 #Pa + #error function: + # name: ObsFunction/ObsErrorModelStepwiseLinear + # options: + # xvar: + # name: ObsValue/stationPressure + # xvals: [60000, 59999] + # #errors: [53.89, 0.10000E+12] + # errors: [53.89, 53.89] + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: stationPressure + # where: + # - variable: ObsType/stationPressure + # is_in: 188 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [stationPressure] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on setupps.f90 + - filter: Perform Action + filter variables: + - name: stationPressure + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: inflate error + #inflation factor: 1.7143 + inflation variable: + name: ObsFunction/ObsErrorFactorSfcPressure + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: stationPressure + minvalue: 0.0 + maxvalue: 120000.0 + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: stationPressure + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/stationPressure + is_in: 188 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/stationPressure + # - variable: ObsValue/stationPressure + # - variable: QCflagsData/stationPressure + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + - obs space: + name: msonet + distribution: + name: "Halo" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: "../rundir-rrfs_fv3jedi_2024052700_getkf_observer/MSONET_hofxs_uv_288.nc4" + obsdataout: + engine: + type: H5File + obsfile: MSONET_hofxs_uv_288.nc4 + allow overwrite: true + io pool: + max pool size: 1 + observed variables: [windEastward, windNorthward] + simulated variables: [windEastward, windNorthward] + + obs operator: + name: Composite + components: + - name: VertInterp + hofx_scaling: true + hofx scaling field: wind_reduction_factor_at_10m + hofx scaling field group: GeoVaLs + vertical coordinate: air_pressure + observation vertical coordinate: pressure + observation vertical coordinate group: MetaData + interpolation method: log-linear + #gsi geovals: + # filename: "obsout/sfc_uv_geoval_2022052619.nc4" + # levels_are_top_down: False + variables: + - name: windEastward + - name: windNorthward + + linear obs operator: + name: Identity + + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 # orig + + obs filters: + # ------------------ + # windEastward + # ------------------ + # Initial error assignment + # 288 + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: assign error + error parameter: 3.0 # m/s + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windEastward + # where: + # - variable: ObsType/windEastward + # is_in: 288 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windEastward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windEastward + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windEastward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + # ------------------ + # windNorthward + # ------------------ + # 288 + # Initial error assignment + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 288 + action: + name: assign error + error parameter: 3.0 # m/s + defer to post: true + + ## Ajusted error after initial assignment (qcmod.f90) + #- filter: Perform Action + # filter variables: + # - name: windNorthward + # where: + # - variable: ObsType/windNorthward + # is_in: 288 + # action: + # name: inflate error + # inflation variable: + # name: ObsFunction/ObsErrorFactorConventional + # options: + # test QCflag: PreQC + # test QCthreshold: 3 + # inflate variables: [windNorthward] + # pressure: MetaData/pressure + # distance threshold: -1. + # defer to post: true + + # error inflation based on pressure check (setupw.f90) + - filter: Perform Action + filter variables: + - name: windNorthward + where: + - variable: ObsType/windNorthward + is_in: 288 + action: + name: inflate error + inflation variable: + name: ObsFunction/ObsErrorFactorPressureCheck + options: + variable: windNorthward + inflation factor: 0.0 + #geovar_sfc_geomz: surface_geometric_height #FV3 + #geovar_sfc_geomz: surface_altitude #MPAS + defer to post: true + + - filter: Bounds Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + minvalue: -200 + maxvalue: 200 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Background Check + apply at iterations: 0,1 + filter variables: + - name: windEastward + - name: windNorthward + absolute threshold: 5.0 + threshold: 5.0 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Domain Check + apply at iterations: 0,1 + where: + - variable: + name: MetaData/timeOffset + minvalue: -0.10 + maxvalue: 0.10 + where: + - variable: ObsType/windEastward + is_in: 288 + action: + name: reject + + - filter: Temporal Thinning + apply at iterations: 0,1 + min_spacing: PT30M + seed_time: *analysisDate + category_variable: + name: MetaData/stationIdentification + + ## Print filter data + #- filter: Print Filter Data + # message: Printing filter data + # summary: true + # variables: + # - variable: MetaData/latitude + # - variable: MetaData/longitude + # - variable: MetaData/pressure + # - variable: ObsType/windEastward + # - variable: ObsValue/windEastward + # - variable: ObsType/windNorthward + # - variable: ObsValue/windNorthward + # - variable: QCflagsData/windEastward + # - variable: QCflagsData/windNorthward + + #- filter: GOMsaver + # filename: ./data/geovals/msonet_geovals_rrfs.nc4 + + +driver: + read HX from disk: true + save posterior ensemble: false + save prior mean: true + save posterior mean: true + do posterior observer: false + +local ensemble DA: + solver: GETKF + use linear observer: true + vertical localization: # current settings use 12 modulated members + fraction of retained variance: 0.850 + lengthscale: 0.50 + lengthscale units: logp + inflation: + rtps: 0.95 + rtpp: 0.6 + mult: 1.1 + +output increment: + filetype: fms restart + datapath: ./ + prefix: letkf-inc-fv3_lam-C775 + +output mean prior: + filetype: fms restart + datapath: ./ + prefix: letkf-meanprior-fv3_lam-C775 + +output: # for outputting mean posterior + filetype: fms restart + datapath: ./ + prefix: letkf-meanposterior-fv3_lam-C775 + +test: + reference filename: testoutput/rrfs-fv3jedi-getkf-solver.ref + test output filename: ./rrfs-fv3jedi-getkf-solver.out + float relative tolerance: 1.0e-3 + float absolute tolerance: 1.0e-6 + diff --git a/rrfs-test/testinput/rrfs_fv3jedi_hyb_2022052619.yaml b/rrfs-test/testinput/rrfs_fv3jedi_hyb_2022052619.yaml deleted file mode 100644 index d691a3e9..00000000 --- a/rrfs-test/testinput/rrfs_fv3jedi_hyb_2022052619.yaml +++ /dev/null @@ -1,232 +0,0 @@ -cost function: - cost type: 3D-Var - time window: - begin: 2022-05-26T18:00:00Z - length: PT2H - analysis variables: &3dvars [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] - - geometry: - fms initialization: - namelist filename: DataFix/fmsmpp.nml - field table filename: DataFix/field_table - namelist filename: DataFix/input_lam_C775.nml - field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml - akbk: DataFix/fix/akbk61.nc - # input.nml - npz: 60 - layout: [8,10] - io_layout: [1,1] - ntiles: 1 - - - background: - datetime: 2022-05-26T19:00:00Z - filetype: fms restart - datapath: Data/bkg - filename_core: fv3_dynvars.nc - filename_trcr: fv3_tracer.nc - filename_sfcd: fv3_sfcdata.nc - filename_sfcw: fv3_srf_wnd.nc - filename_cplr: coupler.res - state variables: [eastward_wind,northward_wind,u_component_of_native_D_grid_wind,v_component_of_native_D_grid_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] - background error: - covariance model: hybrid - components: - - covariance: - covariance model: SABER - saber central block: - saber block name: BUMP_NICAS - active variables: *3dvars - read: - io: - data directory: DataFix/bump_new - files prefix: fv3jedi_bumpparameters_nicas_lam_atm - alias: - - in code: common - in file: fixed_250km_0.3 - drivers: - multivariate strategy: duplicated - read local nicas: true - saber outer blocks: - - saber block name: StdDev - read: - model file: - datetime: 2022-05-26T19:00:00Z - set datetime on read: true - filetype: fms restart - psinfile: true - datapath: Data_static/staticb_rrfs_step2/ - filename_core: 20220526.190000.stddev.fv_core.res.nc - filename_trcr: 20220526.190000.stddev.fv_tracer.res.nc - filename_cplr: 20220526.190000.stddev.coupler.res - date: 2022-05-26T19:00:00Z - weight: - value: 0.1 - - - covariance: - covariance model: ensemble - members from template: - template: - datetime: 2022-05-26T19:00:00Z - filetype: fms restart - state variables: *3dvars - datapath: Data/inputs/mem%mem%/ - filename_core: 20220526.190000.fv_core.res.tile1.nc - filename_trcr: 20220526.190000.fv_tracer.res.tile1.nc - filename_sfcd: 20220526.190000.sfc_data.nc - filename_sfcw: 20220526.190000.fv_srf_wnd.res.nc - filename_cplr: 20220526.190000.coupler.res - pattern: "%mem%" - nmembers: 20 - zero padding: 3 - localization: - localization method: SABER - saber central block: - saber block name: BUMP_NICAS - active variables: *3dvars - read: - io: - files prefix: DataFix/bump_new/fv3jedi_bumpparameters_nicas_lam_atm - alias: - - in code: common - in file: fixed_250km_0.3 - drivers: - multivariate strategy: duplicated - read local nicas: true - model: - level for 2d variables: last - weight: - value: 0.9 - - observations: - observers: - - obs space: - name: Aircraft - obsdatain: - engine: - type: H5File - obsfile: Data/obs/rass_tsen_obs_2022052619.nc4 - obsdataout: - engine: - type: H5File - obsfile: rass_tsen_obs_2022052619_hofx.nc4 - simulated variables: [airTemperature] - observed variables: [airTemperature] - obs operator: - name: VertInterp - obs error: - covariance model: diagonal - obs filters: - - filter: Bounds Check - filter variables: - - name: airTemperature@GsiUseFlag - minvalue: 0.5 - maxvalue: 1.5 - action: - name: accept - - - obs space: - name: sonde - obsdatain: - engine: - type: H5File - obsfile: Data/obs/sondes_tsen_obs_2022052619.nc4 - obsdataout: - engine: - type: H5File - obsfile: rass_tsen_obs_2022052619_hofx.nc4 - simulated variables: [airTemperature] - observed variables: [airTemperature] - obs operator: - name: VertInterp - obs error: - covariance model: diagonal - obs filters: - - filter: Bounds Check - filter variables: - - name: airTemperature@GsiUseFlag - minvalue: 0.5 - maxvalue: 1.5 - action: - name: accept - - - - obs space: - name: sonde - obsdatain: - engine: - type: H5File - obsfile: Data/obs/sondes_uv_obs_2022052619.nc4 - simulated variables: [windEastward, windNorthward] - obs operator: - name: VertInterp - vertical coordinate: air_pressure - observation vertical coordinate: pressure - interpolation method: log-linear - obs error: - covariance model: diagonal ufo - obs filters: - - filter: PreQC - maxvalue: 3 - - filter: Background Check - filter variables: - - name: windEastward - - name: windNorthward - threshold: 6.0 - monitoring only: true - - -variational: - minimizer: - algorithm: DRPCG - iterations: - - ninner: 5 - gradient norm reduction: 1e-60 - geometry: - fms initialization: - namelist filename: DataFix/fmsmpp.nml - field table filename: DataFix/field_table - namelist filename: DataFix/input_lam_C775.nml - field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml - akbk: DataFix/fix/akbk61.nc - # input.nml - npz: 60 - layout: [8,10] - io_layout: [1,1] - ntiles: 1 - fieldsets: - - fieldset: DataFix/fix/dynamics_lam_cmaq.yaml - diagnostics: - departures: ombg - - ninner: 5 - gradient norm reduction: 1e-60 - geometry: - fms initialization: - namelist filename: DataFix/fmsmpp.nml - field table filename: DataFix/field_table - namelist filename: DataFix/input_lam_C775.nml - field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml - akbk: DataFix/fix/akbk61.nc - # input.nml - npz: 60 - layout: [8,10] - io_layout: [1,1] - ntiles: 1 - fieldsets: - - fieldset: DataFix/fix/dynamics_lam_cmaq.yaml -final: - diagnostics: - departures: oman - -output: - filetype: fms restart - datapath: ./ - prefix: hybens3dvar-fv3_lam-C775 #Ens3dvar-fv3_lam-C775 - frequency: PT1H -test: - reference filename: testoutput/rrfs-fv3jedi-hyb.ref - test output filename: rrfs-fv3jedi-hyb.out - float relative tolerance: 1.0e-3 - float absolute tolerance: 1.0e-6 - - diff --git a/rrfs-test/testinput/rrfs_fv3jedi_letkf_2022052619.yaml b/rrfs-test/testinput/rrfs_fv3jedi_letkf_2022052619.yaml deleted file mode 100644 index 39dda98c..00000000 --- a/rrfs-test/testinput/rrfs_fv3jedi_letkf_2022052619.yaml +++ /dev/null @@ -1,169 +0,0 @@ -time window: - begin: 2022-05-26T18:00:00Z - length: PT2H -increment variables: [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] -geometry: - fms initialization: - namelist filename: DataFix/fmsmpp.nml - field table filename: DataFix/field_table - namelist filename: DataFix/input_lam_C775.nml - field metadata override: Data/fieldmetadata/tlei-gfs-restart.yaml - akbk: DataFix/fix/akbk61.nc - # input.nml - npz: 60 - layout: [8,10] - io_layout: [1,1] - ntiles: 1 - fieldsets: - - fieldset: DataFix/fix/dynamics_lam_cmaq.yaml - - -background: - datetime: 2022-05-26T19:00:00Z - filetype: fms restart - members from template: - template: - datetime: 2022-05-26T19:00:00Z - filetype: fms restart - state variables: [eastward_wind,northward_wind,air_temperature,air_pressure_thickness,water_vapor_mixing_ratio_wrt_moist_air,cloud_liquid_ice,cloud_liquid_water,ozone_mass_mixing_ratio] - datapath: Data/inputs/mem%mem%/ - filename_core: 20220526.190000.fv_core.res.tile1.nc - filename_trcr: 20220526.190000.fv_tracer.res.tile1.nc - filename_sfcd: 20220526.190000.sfc_data.nc - filename_sfcw: 20220526.190000.fv_srf_wnd.res.nc - filename_cplr: 20220526.190000.coupler.res - pattern: "%mem%" - nmembers: 20 - zero padding: 3 - -observations: - observers: - - obs space: - name: Aircraft - distribution: - name: Halo - halo size: 1250e3 - obsdatain: - engine: - type: H5File - obsfile: Data/obs/rass_tsen_obs_2022052619.nc4 - obsdataout: - engine: - type: H5File - obsfile: rass_tsen_obs_2022052619_hofx.nc4 - simulated variables: [airTemperature] - obs operator: - name: VertInterp - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal Gaspari-Cohn - lengthscale: 200e3 - obs filters: - - filter: Bounds Check - filter variables: - - name: airTemperature@GsiUseFlag - minvalue: 0.5 - maxvalue: 1.5 - action: - name: accept - - - obs space: - name: Aircraft - distribution: - name: Halo - halo size: 1250e3 - obsdatain: - engine: - type: H5File - obsfile: Data/obs/sondes_tsen_obs_2022052619.nc4 - obsdataout: - engine: - type: H5File - obsfile: sondes_tsen_obs_2022052619_hofx.nc4 - simulated variables: [airTemperature] - obs operator: - name: VertInterp - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal Gaspari-Cohn - lengthscale: 200e3 - obs filters: - - filter: Bounds Check - filter variables: - - name: airTemperature@GsiUseFlag - minvalue: 0.5 - maxvalue: 1.5 - action: - name: accept - - - obs space: - name: Sonde - distribution: - name: Halo - halo size: 1250e3 - engine: - type: H5File - obsdatain: - engine: - type: H5File - obsfile: Data/obs/sondes_q_obs_2022052619.nc4 - obsdataout: - engine: - type: H5File - obsfile: sondes_q_obs_2022052619_hofx.nc4 - simulated variables: [specificHumidity] - obs operator: - name: VertInterp - obs error: - covariance model: diagonal - obs localizations: - - localization method: Horizontal Gaspari-Cohn - lengthscale: 200e3 - obs filters: - - filter: Bounds Check - filter variables: - - name: specificHumidity@GsiUseFlag - minvalue: 0.5 - maxvalue: 1.5 - action: - name: accept - - - -driver: - save posterior ensemble: false - save prior mean: true - save posterior mean: true - save posterior mean increment: true - -local ensemble DA: - solver: LETKF - inflation: - rtps: 0.95 - rtpp: 0.6 - mult: 1.1 - - -output increment: - filetype: fms restart - datapath: ./ - prefix: letkf-inc-fv3_lam-C775 - -output mean prior: - filetype: fms restart - datapath: ./ - prefix: letkf-meanprior-fv3_lam-C775 - -output: # for outputting mean posterior - filetype: fms restart - datapath: ./ - prefix: letkf-meanposterior-fv3_lam-C775 - -test: - reference filename: testoutput/rrfs-fv3jedi-letkf.ref - test output filename: ./rrfs-fv3jedi-letkf.out - float relative tolerance: 1.0e-3 - float absolute tolerance: 1.0e-6 - diff --git a/rrfs-test/testoutput/rrfs-fv3jedi-ens3dvar.ref b/rrfs-test/testoutput/rrfs-fv3jedi-ens3dvar.ref new file mode 100644 index 00000000..e25acc84 --- /dev/null +++ b/rrfs-test/testoutput/rrfs-fv3jedi-ens3dvar.ref @@ -0,0 +1,124 @@ +CostJb : Nonlinear Jb = 0.0000000000000000e+00 +CostJo : Nonlinear Jo(aircar) = 2.2065653039003159e+03, nobs = 2871, Jo/n = 7.6857029045639702e-01, err = 8.8802006280241952e-01 +CostJo : Nonlinear Jo(aircar) = 5.2619776496591548e+03, nobs = 7227, Jo/n = 7.2809985466433580e-01, err = 2.3213999271392822e+00 +CostJo : Nonlinear Jo(aircar) = 7.2421892203292822e-03, nobs = 216, Jo/n = 3.3528653797820748e-05, err = 1.8756962459638626e-01 +CostJo : Nonlinear Jo(aircft) = 1.3734700457990479e+00, nobs = 4, Jo/n = 3.4336751144976196e-01, err = 1.5266018086574908e+00 +CostJo : Nonlinear Jo(aircft) = 2.1921005768933270e+01, nobs = 20, Jo/n = 1.0960502884466634e+00, err = 8.3188122600847281e-01 +CostJo : Nonlinear Jo(aircft) = 1.4145267507195562e+00, nobs = 6, Jo/n = 2.3575445845325937e-01, err = 1.5302911100213283e+00 +CostJo : Nonlinear Jo(aircft) = 0.0000000000000000e+00 --- No Observations +CostJo : Nonlinear Jo(aircft) = 7.9216296179823453e-03, nobs = 6, Jo/n = 1.3202716029970575e-03, err = 1.6371134502786117e-01 +CostJo : Nonlinear Jo(aircft) = 1.3557614903154757e+01, nobs = 18, Jo/n = 7.5320082795304211e-01, err = 3.2950999736785889e+00 +CostJo : Nonlinear Jo(aircft) = 5.7149606753099746e+00, nobs = 39, Jo/n = 1.4653745321307626e-01, err = 5.6567001342773438e+00 +CostJo : Nonlinear Jo(aircft) = 4.4176443027076804e+00, nobs = 18, Jo/n = 2.4542468348376001e-01, err = 5.1054146416924304e+00 +CostJo : Nonlinear Jo(aircft) = 0.0000000000000000e+00 --- No Observations +CostJo : Nonlinear Jo(msonet) = 1.3565025683274243e+03, nobs = 15421, Jo/n = 8.7964630589937379e-02, err = 4.4560117217419796e+09 +CostJo : Nonlinear Jo(msonet) = 1.0860039180037013e+01, nobs = 15542, Jo/n = 6.9875429031250895e-04, err = 7.0000000298023196e-02 +CostJo : Nonlinear Jo(msonet) = 1.4929431780724806e-02, nobs = 8, Jo/n = 1.8661789725906007e-03, err = 5.4620881415539891e+01 +CostJo : Nonlinear Jo(msonet) = 1.6165885335192093e+04, nobs = 71978, Jo/n = 2.2459481140337456e-01, err = 3.4115185391662464e+00 +CostFunction: Nonlinear J = 2.5050220211956264e+04 +DRPCGMinimizer: reduction in residual norm = 3.7882151242074147e-01 +CostFunction::addIncrement: Analysis: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 12 | cube sphere face size: C420 +eastward_wind | Min:-2.7009051098293103e+01 Max:+5.2847367671354078e+01 RMS:+1.3251435797036210e+01 +northward_wind | Min:-4.1600668078158890e+01 Max:+4.0223178418051930e+01 RMS:+6.3461086727614546e+00 +u_component_of_native_D_grid_wind | Min:-2.6893036734891872e+01 Max:+5.3018036448537480e+01 RMS:+1.3330219707178150e+01 +v_component_of_native_D_grid_wind | Min:-3.8247457713965574e+01 Max:+4.1846394202764841e+01 RMS:+6.2132130183114684e+00 +air_temperature | Min:+1.9402572879551636e+02 Max:+3.1498680642234780e+02 RMS:+2.5829540147551387e+02 +air_pressure_thickness | Min:+1.4041438156035707e+02 Max:+3.3267851798763545e+03 RMS:+1.7746966063469313e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+2.5199952772234437e-02 RMS:+5.5428591784999568e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.5498944735575238e-04 RMS:+2.6926270111792255e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4127248820788767e-03 RMS:+1.8845000823650532e-05 +ozone_mass_mixing_ratio | Min:+4.5068946144342229e-09 Max:+1.6040661649784199e-05 RMS:+4.4486250115039959e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0004938840866089e+00 Max:+1.0948654413223267e+00 RMS:+1.0188698647586809e+00 +---------------------------------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + +CostJb : Nonlinear Jb = 317.7296495362739 +CostJo : Nonlinear Jo(aircar) = 1627.763222127554, nobs = 2871, Jo/n = 0.5669673361642473, err = 0.8880200628024195 +CostJo : Nonlinear Jo(aircar) = 5316.030140727331, nobs = 7217, Jo/n = 0.7365983290463255, err = 2.321399927139282 +CostJo : Nonlinear Jo(aircar) = 0.008208289259096684, nobs = 216, Jo/n = 3.800133916248465e-05, err = 0.1875696245963863 +CostJo : Nonlinear Jo(aircft) = 1.21008825466824, nobs = 4, Jo/n = 0.3025220636670601, err = 1.526601808657491 +CostJo : Nonlinear Jo(aircft) = 12.75350212716359, nobs = 20, Jo/n = 0.6376751063581793, err = 0.8318812260084728 +CostJo : Nonlinear Jo(aircft) = 1.222498922925067, nobs = 6, Jo/n = 0.2037498204875112, err = 1.530291110021328 +CostJo : Nonlinear Jo(aircft) = 0 --- No Observations +CostJo : Nonlinear Jo(aircft) = 0.007351243076002216, nobs = 6, Jo/n = 0.001225207179333703, err = 0.1637113450278612 +CostJo : Nonlinear Jo(aircft) = 15.27668560403244, nobs = 18, Jo/n = 0.8487047557795803, err = 3.295099973678589 +CostJo : Nonlinear Jo(aircft) = 4.674294263794438, nobs = 38, Jo/n = 0.1230077437840642, err = 5.656700134277344 +CostJo : Nonlinear Jo(aircft) = 4.068687002321397, nobs = 18, Jo/n = 0.2260381667956332, err = 5.10541464169243 +CostJo : Nonlinear Jo(aircft) = 0 --- No Observations +CostJo : Nonlinear Jo(msonet) = 861.6055018327452, nobs = 15366, Jo/n = 0.0560722049871629, err = 4439859451.137444 +CostJo : Nonlinear Jo(msonet) = 12.75018172674779, nobs = 15542, Jo/n = 0.0008203694329396341, err = 0.0700000002980232 +CostJo : Nonlinear Jo(msonet) = 0.003228333021504324, nobs = 3, Jo/n = 0.001076111007168108, err = 54.78238073106395 +CostJo : Nonlinear Jo(msonet) = 9026.137319977019, nobs = 71744, Jo/n = 0.1258103440005717, err = 3.409370211421989 +CostFunction: Nonlinear J = 17201.24055996793 +DRPCGMinimizer: reduction in residual norm = 0.6042411907585969 +CostFunction::addIncrement: Analysis: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 12 | cube sphere face size: C420 +eastward_wind | Min:-2.7011245163254948e+01 Max:+5.2899539834338071e+01 RMS:+1.3247072959867856e+01 +northward_wind | Min:-4.2697634514219310e+01 Max:+3.9881347151313598e+01 RMS:+6.3341226155205081e+00 +u_component_of_native_D_grid_wind | Min:-2.6893059851851099e+01 Max:+5.3055643332163200e+01 RMS:+1.3326402042905562e+01 +v_component_of_native_D_grid_wind | Min:-3.8331040793673871e+01 Max:+4.1658434743375700e+01 RMS:+6.1998400198274419e+00 +air_temperature | Min:+1.9402554058275842e+02 Max:+3.1450469083625205e+02 RMS:+2.5830909613453264e+02 +air_pressure_thickness | Min:+1.4042981692509855e+02 Max:+3.3267852024202784e+03 RMS:+1.7746949957363120e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+0.0000000000000000e+00 Max:+2.5626736964116513e-02 RMS:+5.5552786237615028e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.5495956605419095e-04 RMS:+2.6994473902983450e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4310673404403808e-03 RMS:+1.8927574093424329e-05 +ozone_mass_mixing_ratio | Min:+4.5398551254583658e-09 Max:+1.6040661650824369e-05 RMS:+4.4486217700479065e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0004938840866089e+00 Max:+1.0948654413223267e+00 RMS:+1.0188698647586809e+00 +---------------------------------------------------------------------------------------------------- + + + + + + + + + + + + + + + + + + +CostJb : Nonlinear Jb = 421.9379174208613 +CostJo : Nonlinear Jo(aircar) = 1423.261233938421, nobs = 2871, Jo/n = 0.4957371069099341, err = 0.8880200628024195 +CostJo : Nonlinear Jo(aircar) = 5387.184278350179, nobs = 7217, Jo/n = 0.7464575693986669, err = 2.321399927139282 +CostJo : Nonlinear Jo(aircar) = 0.006512952892614728, nobs = 216, Jo/n = 3.015255968803115e-05, err = 0.1875696245963863 +CostJo : Nonlinear Jo(aircft) = 1.065005558474755, nobs = 4, Jo/n = 0.2662513896186887, err = 1.526601808657491 +CostJo : Nonlinear Jo(aircft) = 9.840247336252624, nobs = 20, Jo/n = 0.4920123668126312, err = 0.8318812260084728 +CostJo : Nonlinear Jo(aircft) = 1.095335490294913, nobs = 6, Jo/n = 0.1825559150491521, err = 1.530291110021328 +CostJo : Nonlinear Jo(aircft) = 0 --- No Observations +CostJo : Nonlinear Jo(aircft) = 0.008141035968439056, nobs = 6, Jo/n = 0.001356839328073176, err = 0.1637113450278612 +CostJo : Nonlinear Jo(aircft) = 16.2266565115346, nobs = 18, Jo/n = 0.9014809173074776, err = 3.295099973678589 +CostJo : Nonlinear Jo(aircft) = 4.859458886807937, nobs = 38, Jo/n = 0.1278804970212615, err = 5.656700134277344 +CostJo : Nonlinear Jo(aircft) = 3.779514519177109, nobs = 18, Jo/n = 0.2099730288431727, err = 5.10541464169243 +CostJo : Nonlinear Jo(aircft) = 0 --- No Observations +CostJo : Nonlinear Jo(msonet) = 737.479524170014, nobs = 15366, Jo/n = 0.04799424210399674, err = 4439859451.137444 +CostJo : Nonlinear Jo(msonet) = 12.00332501977146, nobs = 15542, Jo/n = 0.0007723153403533306, err = 0.0700000002980232 +CostJo : Nonlinear Jo(msonet) = 0.007230186014249441, nobs = 3, Jo/n = 0.002410062004749814, err = 54.78238073106395 +CostJo : Nonlinear Jo(msonet) = 8108.288668042112, nobs = 71744, Jo/n = 0.1130169584640125, err = 3.409370211421989 +CostFunction: Nonlinear J = 16127.04304941877 diff --git a/rrfs-test/testoutput/rrfs-fv3jedi-getkf-observer.ref b/rrfs-test/testoutput/rrfs-fv3jedi-getkf-observer.ref new file mode 100644 index 00000000..b86c7476 --- /dev/null +++ b/rrfs-test/testoutput/rrfs-fv3jedi-getkf-observer.ref @@ -0,0 +1,1028 @@ +Initial state for member 1: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6499134063720703e+01 Max:+4.9989711761474609e+01 RMS:+1.3262253391734740e+01 +northward_wind | Min:-3.1644960403442383e+01 Max:+3.3157646179199219e+01 RMS:+6.5269264427806881e+00 +air_temperature | Min:+1.9785134887695312e+02 Max:+3.1549230957031250e+02 RMS:+2.5814909365142250e+02 +air_pressure_thickness | Min:+1.4034443664550781e+02 Max:+3.3281875000000000e+03 RMS:+1.7749727182384038e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.3515200205729343e-07 Max:+2.2490598261356354e-02 RMS:+5.3644527681108427e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.9222671107854694e-04 RMS:+1.3429556577548235e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5210718847811222e-03 RMS:+2.3536100314367489e-05 +ozone_mass_mixing_ratio | Min:+7.5481452685433048e-12 Max:+1.5771141988807358e-05 RMS:+4.4525934971917886e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010293722152710e+00 Max:+1.1085011959075928e+00 RMS:+1.0205106412404941e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 2: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.8106489181518555e+01 Max:+5.6901546478271484e+01 RMS:+1.3116083626982322e+01 +northward_wind | Min:-3.1490596771240234e+01 Max:+3.9901718139648438e+01 RMS:+6.5588310604157840e+00 +air_temperature | Min:+1.9690568542480469e+02 Max:+3.1674716186523438e+02 RMS:+2.5830189401229040e+02 +air_pressure_thickness | Min:+1.4034533691406250e+02 Max:+3.3270117187500000e+03 RMS:+1.7744052609507178e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.4007100415183231e-07 Max:+2.2349845618009567e-02 RMS:+5.4679779389121084e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.1339896162971854e-04 RMS:+3.2043168972653205e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+2.0454830955713987e-03 RMS:+2.6629053646558928e-05 +ozone_mass_mixing_ratio | Min:+7.5439524419018689e-12 Max:+1.5824763977434486e-05 RMS:+4.4505890532164408e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0004920959472656e+00 Max:+1.1078704595565796e+00 RMS:+1.0205072256851069e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 3: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6645488739013672e+01 Max:+4.8789447784423828e+01 RMS:+1.3210939712799370e+01 +northward_wind | Min:-2.7244195938110352e+01 Max:+3.2044513702392578e+01 RMS:+6.1573691735834428e+00 +air_temperature | Min:+1.9786824035644531e+02 Max:+3.1720043945312500e+02 RMS:+2.5824192583175966e+02 +air_pressure_thickness | Min:+1.4033721923828125e+02 Max:+3.3272148437500000e+03 RMS:+1.7752423395098870e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.6246493563303375e-07 Max:+2.2807538509368896e-02 RMS:+5.4086062995937993e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.9841185207478702e-04 RMS:+2.7463195176756640e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3178195804357529e-03 RMS:+2.2973147961778760e-05 +ozone_mass_mixing_ratio | Min:+7.5441354552285844e-12 Max:+1.5893127056187950e-05 RMS:+4.4510540970893445e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0006304979324341e+00 Max:+1.1086137294769287e+00 RMS:+1.0206786964123011e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 4: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6819168090820312e+01 Max:+5.3625953674316406e+01 RMS:+1.3383426690730147e+01 +northward_wind | Min:-2.9948707580566406e+01 Max:+2.7059003829956055e+01 RMS:+6.1318265632636297e+00 +air_temperature | Min:+1.9757196044921875e+02 Max:+3.1528298950195312e+02 RMS:+2.5820521138487823e+02 +air_pressure_thickness | Min:+1.4022798156738281e+02 Max:+3.3241757812500000e+03 RMS:+1.7737286583178231e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.5318423619610257e-07 Max:+2.2498149424791336e-02 RMS:+5.4605775834982717e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.7312151612713933e-04 RMS:+1.3669322767437857e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7449950100854039e-03 RMS:+2.1366605516018157e-05 +ozone_mass_mixing_ratio | Min:+7.5434866686485691e-12 Max:+1.5802654161234386e-05 RMS:+4.4495849424847505e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0005342960357666e+00 Max:+1.1080715656280518e+00 RMS:+1.0209952679774752e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 5: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6862178802490234e+01 Max:+4.9266716003417969e+01 RMS:+1.3266688514728612e+01 +northward_wind | Min:-3.2490325927734375e+01 Max:+4.0594707489013672e+01 RMS:+6.4533389874139893e+00 +air_temperature | Min:+1.9749073791503906e+02 Max:+3.1577050781250000e+02 RMS:+2.5817849129742751e+02 +air_pressure_thickness | Min:+1.4046246337890625e+02 Max:+3.3259140625000000e+03 RMS:+1.7751639386128631e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.6862894477235386e-07 Max:+2.4167863652110100e-02 RMS:+5.4720294104784514e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.4941008198074996e-04 RMS:+3.1754586663417470e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8839602125808597e-03 RMS:+2.4100219865463045e-05 +ozone_mass_mixing_ratio | Min:+7.5455327749884837e-12 Max:+1.5807516319910064e-05 RMS:+4.4485612214842732e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0008239746093750e+00 Max:+1.1048620939254761e+00 RMS:+1.0207912669696568e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 6: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7373611450195312e+01 Max:+5.0075763702392578e+01 RMS:+1.3143567364481166e+01 +northward_wind | Min:-2.6300935745239258e+01 Max:+3.5502925872802734e+01 RMS:+6.0481649386029286e+00 +air_temperature | Min:+1.9782315063476562e+02 Max:+3.1600143432617188e+02 RMS:+2.5831177472705548e+02 +air_pressure_thickness | Min:+1.4039930725097656e+02 Max:+3.3266367187500000e+03 RMS:+1.7747966267562649e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.8775599376967875e-07 Max:+2.5118852034211159e-02 RMS:+5.5842558877425268e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.4581811632961035e-04 RMS:+2.9993929901605172e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5151537954807281e-03 RMS:+2.3647832941379487e-05 +ozone_mass_mixing_ratio | Min:+7.5486552772452420e-12 Max:+1.5783893104526214e-05 RMS:+4.4495568438728818e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010459423065186e+00 Max:+1.1089090108871460e+00 RMS:+1.0202157412000197e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 7: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6941808700561523e+01 Max:+4.8607387542724609e+01 RMS:+1.3002154725017949e+01 +northward_wind | Min:-2.6337463378906250e+01 Max:+3.1117197036743164e+01 RMS:+5.8862135505792832e+00 +air_temperature | Min:+1.9747534179687500e+02 Max:+3.1579403686523438e+02 RMS:+2.5839351379880895e+02 +air_pressure_thickness | Min:+1.4042308044433594e+02 Max:+3.3278515625000000e+03 RMS:+1.7747968763696420e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.7451064700871939e-07 Max:+2.2607523947954178e-02 RMS:+5.5335149902015898e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.6096031544730067e-04 RMS:+2.5948294946622258e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.0989003349095583e-03 RMS:+2.0046728919282610e-05 +ozone_mass_mixing_ratio | Min:+7.5491652859471792e-12 Max:+1.5870067727519199e-05 RMS:+4.4504931019409158e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0003613233566284e+00 Max:+1.1084893941879272e+00 RMS:+1.0206275303623997e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 8: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6109445571899414e+01 Max:+4.9386592864990234e+01 RMS:+1.3093839374879357e+01 +northward_wind | Min:-2.7203722000122070e+01 Max:+2.5723331451416016e+01 RMS:+5.8111438559023263e+00 +air_temperature | Min:+1.9761149597167969e+02 Max:+3.1740347290039062e+02 RMS:+2.5830830023356691e+02 +air_pressure_thickness | Min:+1.4032115173339844e+02 Max:+3.3286718750000000e+03 RMS:+1.7747488499289088e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.7689287536486518e-07 Max:+2.3275764659047127e-02 RMS:+5.5913934677775199e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.7662134855054319e-04 RMS:+1.8956585296965731e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2587754754349589e-03 RMS:+1.5943086414335800e-05 +ozone_mass_mixing_ratio | Min:+7.5490039566639133e-12 Max:+1.5825018635950983e-05 RMS:+4.4486118283589482e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0003845691680908e+00 Max:+1.1039444208145142e+00 RMS:+1.0209412270767817e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 9: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6310241699218750e+01 Max:+4.9246311187744141e+01 RMS:+1.3160478015113144e+01 +northward_wind | Min:-2.8684217453002930e+01 Max:+3.1660406112670898e+01 RMS:+6.2221365374410373e+00 +air_temperature | Min:+1.9741758728027344e+02 Max:+3.1513531494140625e+02 RMS:+2.5822722106009360e+02 +air_pressure_thickness | Min:+1.4031372070312500e+02 Max:+3.3290468750000000e+03 RMS:+1.7754660404500862e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.9598466956886114e-07 Max:+2.4846609681844711e-02 RMS:+5.4534888633199071e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.4796685213223100e-04 RMS:+1.9935026283450895e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6497153555974364e-03 RMS:+2.1956455920666283e-05 +ozone_mass_mixing_ratio | Min:+7.5454911416250603e-12 Max:+1.5767522199894302e-05 RMS:+4.4502307049463693e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0008653402328491e+00 Max:+1.1021604537963867e+00 RMS:+1.0207109838045307e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 10: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7050924301147461e+01 Max:+5.1978160858154297e+01 RMS:+1.3250525990200163e+01 +northward_wind | Min:-2.8364637374877930e+01 Max:+3.3916038513183594e+01 RMS:+6.0548781194070758e+00 +air_temperature | Min:+1.9768316650390625e+02 Max:+3.1774792480468750e+02 RMS:+2.5819200831116444e+02 +air_pressure_thickness | Min:+1.4022763061523438e+02 Max:+3.3249765625000000e+03 RMS:+1.7734577254333840e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+4.4973046442464693e-07 Max:+2.2597698494791985e-02 RMS:+5.4781664530905395e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.8071709200739861e-04 RMS:+1.2834277276674604e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2537821894511580e-03 RMS:+1.5716571013717043e-05 +ozone_mass_mixing_ratio | Min:+7.5446792910383031e-12 Max:+1.5845356756472029e-05 RMS:+4.4498046122710721e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0001921653747559e+00 Max:+1.1076467037200928e+00 RMS:+1.0208915264437164e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 11: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6616983413696289e+01 Max:+5.1781116485595703e+01 RMS:+1.3340566336547429e+01 +northward_wind | Min:-2.9337350845336914e+01 Max:+3.0298658370971680e+01 RMS:+6.0080666677559575e+00 +air_temperature | Min:+1.9742958068847656e+02 Max:+3.1527807617187500e+02 RMS:+2.5825495555392627e+02 +air_pressure_thickness | Min:+1.4028230285644531e+02 Max:+3.3252578125000000e+03 RMS:+1.7736533069468749e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.0778504601112218e-07 Max:+2.2172430530190468e-02 RMS:+5.5576782320440454e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.9987111338414252e-04 RMS:+1.4619655050157170e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+9.6104486146941781e-04 RMS:+1.5324212236160586e-05 +ozone_mass_mixing_ratio | Min:+7.5473039276574561e-12 Max:+1.5832516510272399e-05 RMS:+4.4506254901933905e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0005042552947998e+00 Max:+1.1078217029571533e+00 RMS:+1.0207586755531943e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 12: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6444913864135742e+01 Max:+5.0670928955078125e+01 RMS:+1.3059387416111200e+01 +northward_wind | Min:-2.5791559219360352e+01 Max:+3.5664493560791016e+01 RMS:+6.0356068821683024e+00 +air_temperature | Min:+1.9762724304199219e+02 Max:+3.1485104370117188e+02 RMS:+2.5835058150462601e+02 +air_pressure_thickness | Min:+1.4039212036132812e+02 Max:+3.3250976562500000e+03 RMS:+1.7739167531010219e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+6.3532422700518509e-07 Max:+2.3982960730791092e-02 RMS:+5.5898983272991629e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.6571200578473508e-04 RMS:+2.1679254448140457e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3496220344677567e-03 RMS:+1.7154022765488559e-05 +ozone_mass_mixing_ratio | Min:+7.5464808013681051e-12 Max:+1.5792242265888490e-05 RMS:+4.4496367443319946e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0007667541503906e+00 Max:+1.0994825363159180e+00 RMS:+1.0207185110790009e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 13: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7489501953125000e+01 Max:+5.1677898406982422e+01 RMS:+1.3404039223126290e+01 +northward_wind | Min:-3.4519397735595703e+01 Max:+4.2484031677246094e+01 RMS:+6.6609980771881654e+00 +air_temperature | Min:+1.9744311523437500e+02 Max:+3.1274356079101562e+02 RMS:+2.5817134043512766e+02 +air_pressure_thickness | Min:+1.4037625122070312e+02 Max:+3.3277812500000000e+03 RMS:+1.7746658923295752e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.4505231850707787e-07 Max:+2.1956646814942360e-02 RMS:+5.4044346433490221e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.5765863140113652e-04 RMS:+2.1467830786456633e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3395585119724274e-03 RMS:+2.5825991938724347e-05 +ozone_mass_mixing_ratio | Min:+7.5454651207729206e-12 Max:+1.5819619875401258e-05 RMS:+4.4460059272372195e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0007030963897705e+00 Max:+1.1027519702911377e+00 RMS:+1.0206560990702465e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 14: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7420936584472656e+01 Max:+5.0758155822753906e+01 RMS:+1.3204250461270959e+01 +northward_wind | Min:-2.8945447921752930e+01 Max:+3.1073390960693359e+01 RMS:+6.2801355306844835e+00 +air_temperature | Min:+1.9733168029785156e+02 Max:+3.1695617675781250e+02 RMS:+2.5818316147176864e+02 +air_pressure_thickness | Min:+1.4020429992675781e+02 Max:+3.3269492187500000e+03 RMS:+1.7737905654581712e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.4233992108929669e-07 Max:+2.3046731948852539e-02 RMS:+5.4013006089373809e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.1861832647118717e-04 RMS:+2.2036271704476599e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4415213372558355e-03 RMS:+1.9966052282656515e-05 +ozone_mass_mixing_ratio | Min:+7.5462353379962543e-12 Max:+1.5786337826284580e-05 RMS:+4.4519861121692562e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0009058713912964e+00 Max:+1.1014741659164429e+00 RMS:+1.0206737240784856e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 15: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7825143814086914e+01 Max:+4.9406520843505859e+01 RMS:+1.3118676905373471e+01 +northward_wind | Min:-2.8515384674072266e+01 Max:+3.6520645141601562e+01 RMS:+6.2768326066375959e+00 +air_temperature | Min:+1.9744734191894531e+02 Max:+3.1465881347656250e+02 RMS:+2.5836200283915286e+02 +air_pressure_thickness | Min:+1.4029045104980469e+02 Max:+3.3281796875000000e+03 RMS:+1.7745621917555604e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+6.9403108682308812e-07 Max:+2.1803693845868111e-02 RMS:+5.5033607745355369e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.9914136868901551e-04 RMS:+2.8805711069062274e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3089535059407353e-03 RMS:+2.1233843491579309e-05 +ozone_mass_mixing_ratio | Min:+7.5474661243024599e-12 Max:+1.5800267647136934e-05 RMS:+4.4472726968015649e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010336637496948e+00 Max:+1.0994629859924316e+00 RMS:+1.0206093053297700e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 16: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7000873565673828e+01 Max:+4.8411666870117188e+01 RMS:+1.2812108646217458e+01 +northward_wind | Min:-2.7646337509155273e+01 Max:+3.1859035491943359e+01 RMS:+6.1592265312787653e+00 +air_temperature | Min:+1.9738623046875000e+02 Max:+3.1518194580078125e+02 RMS:+2.5841559459506198e+02 +air_pressure_thickness | Min:+1.4011819458007812e+02 Max:+3.3257539062500000e+03 RMS:+1.7731063846427739e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.3832031805286533e-07 Max:+2.2416204214096069e-02 RMS:+5.5891795675629746e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.2910224399529397e-04 RMS:+2.4018488726642122e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2736007338389754e-03 RMS:+2.1020690302630038e-05 +ozone_mass_mixing_ratio | Min:+7.5465111590289347e-12 Max:+1.5802419511601329e-05 RMS:+4.4470557897839262e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0005049705505371e+00 Max:+1.0964636802673340e+00 RMS:+1.0204223390835310e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 17: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7157186508178711e+01 Max:+4.8312816619873047e+01 RMS:+1.2693449542711418e+01 +northward_wind | Min:-3.0899242401123047e+01 Max:+2.6454854965209961e+01 RMS:+6.1894928930491639e+00 +air_temperature | Min:+1.9791487121582031e+02 Max:+3.1676629638671875e+02 RMS:+2.5815196624742401e+02 +air_pressure_thickness | Min:+1.4025885009765625e+02 Max:+3.3275468750000000e+03 RMS:+1.7755085099640512e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.9884404158292455e-07 Max:+2.2182950749993324e-02 RMS:+5.4555481329772639e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.1315432968549430e-04 RMS:+1.5372115445437359e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4075781218707561e-03 RMS:+2.4672896516993998e-05 +ozone_mass_mixing_ratio | Min:+7.5496518758821907e-12 Max:+1.5824554793653078e-05 RMS:+4.4498048731188137e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0007419586181641e+00 Max:+1.1030770540237427e+00 RMS:+1.0207619863687358e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 18: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.5910966873168945e+01 Max:+5.0213520050048828e+01 RMS:+1.2684898114999005e+01 +northward_wind | Min:-2.8452053070068359e+01 Max:+3.1736547470092773e+01 RMS:+6.2438461983275237e+00 +air_temperature | Min:+1.9727775573730469e+02 Max:+3.1751290893554688e+02 RMS:+2.5852499824577694e+02 +air_pressure_thickness | Min:+1.4021235656738281e+02 Max:+3.3264218750000000e+03 RMS:+1.7728637728282188e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.6574089057903620e-07 Max:+2.3140851408243179e-02 RMS:+5.6512111380784902e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.4635813315398991e-04 RMS:+2.6224991110222331e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.0211007902398705e-03 RMS:+1.7964477742941608e-05 +ozone_mass_mixing_ratio | Min:+7.5464981486028648e-12 Max:+1.5812547644600272e-05 RMS:+4.4483512966805943e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0004552602767944e+00 Max:+1.1027778387069702e+00 RMS:+1.0204410035825995e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 19: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7315406799316406e+01 Max:+5.1392955780029297e+01 RMS:+1.3073973334094115e+01 +northward_wind | Min:-2.9755792617797852e+01 Max:+3.5338039398193359e+01 RMS:+6.2739654397669051e+00 +air_temperature | Min:+1.9728047180175781e+02 Max:+3.1603353881835938e+02 RMS:+2.5837421789937997e+02 +air_pressure_thickness | Min:+1.4025909423828125e+02 Max:+3.3252265625000000e+03 RMS:+1.7740716913146923e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.8590734397512279e-07 Max:+2.2484907880425453e-02 RMS:+5.4637215374247969e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.0686732023023069e-04 RMS:+1.7253656138130327e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4640277950093150e-03 RMS:+2.4038848645879325e-05 +ozone_mass_mixing_ratio | Min:+7.5470983629255528e-12 Max:+1.5833817087695934e-05 RMS:+4.4496516797364575e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0009936094284058e+00 Max:+1.1013786792755127e+00 RMS:+1.0203956229961613e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 20: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6014789581298828e+01 Max:+5.0938194274902344e+01 RMS:+1.3135252640240266e+01 +northward_wind | Min:-2.7819715499877930e+01 Max:+4.2136608123779297e+01 RMS:+6.0615455303343353e+00 +air_temperature | Min:+1.9755606079101562e+02 Max:+3.1374545288085938e+02 RMS:+2.5830948065709242e+02 +air_pressure_thickness | Min:+1.4033699035644531e+02 Max:+3.3289218750000000e+03 RMS:+1.7746239248505551e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.0404836328161764e-07 Max:+2.2084660828113556e-02 RMS:+5.5607987530616760e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.7910768403671682e-04 RMS:+2.2170887484884510e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+2.0808267872780561e-03 RMS:+1.8239441333288087e-05 +ozone_mass_mixing_ratio | Min:+7.5437633570429874e-12 Max:+1.5874929886194877e-05 RMS:+4.4461628993920764e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010197162628174e+00 Max:+1.1039352416992188e+00 RMS:+1.0205018287223973e+00 +---------------------------------------------------------------------------------------------------- +H(x) for member 1: +aircar nobs= 2868 Min=212.6276865248081, Max=307.5399908142855, RMS=241.7513411844819 + +aircar nobs= 143188 Min=-24.4802044349561, Max=47.06226105619924, RMS=14.80777037457659 + +aircar nobs= 216 Min=6.144637902828635e-06, Max=0.01822723803046407, RMS=0.006364402716716414 + +aircft nobs= 4 Min=223.3456764613027, Max=280.6025573577739, RMS=250.7117522774672 + +aircft nobs= 18 Min=213.3769563964437, Max=287.5080010141786, RMS=230.0431318277503 + +aircft nobs= 6 Min=215.0947639470069, Max=301.8449165421411, RMS=236.0799370395278 + +aircft: No observations. + +aircft nobs= 6 Min=1.041269188029982e-05, Max=0.0172819094997776, RMS=0.008077503337626054 + +aircft nobs= 664 Min=-20.73476149991333, Max=38.74861992654828, RMS=15.27986730724328 + +aircft nobs= 664 Min=-20.73476149991333, Max=38.74861992654828, RMS=15.27986730724328 + +aircft nobs= 664 Min=-20.73476149991333, Max=38.74861992654828, RMS=15.27986730724328 + +aircft nobs= 664 Min=-20.73476149991333, Max=38.74861992654828, RMS=15.27986730724328 + +msonet nobs= 14780 Min=271.1976531291862, Max=312.5247635952678, RMS=295.1893769179912 + +msonet nobs= 15542 Min=0.0001169082815404987, Max=0.02210120984842565, RMS=0.01125786787547677 + +msonet nobs= 495191 Min=29399.32344973177, Max=102203.2007217297, RMS=95859.88761998253 + +msonet nobs= 990382 Min=-15.98531814585153, Max=26.04107761143828, RMS=3.234063143927388 + + +H(x) for member 2: +aircar nobs= 2868 Min=212.0827551305589, Max=308.9252388807362, RMS=242.0128976153453 + +aircar nobs= 143188 Min=-22.16323948823768, Max=47.13019205093642, RMS=14.65466304904057 + +aircar nobs= 216 Min=3.541731922885369e-06, Max=0.0174827171287166, RMS=0.006154158188975245 + +aircft nobs= 4 Min=223.9050499314808, Max=279.1382881170596, RMS=250.6627390470707 + +aircft nobs= 18 Min=212.6013531205865, Max=288.0162241177366, RMS=229.9050213835668 + +aircft nobs= 6 Min=213.9641676835839, Max=303.1086111451941, RMS=235.8586696608176 + +aircft: No observations. + +aircft nobs= 6 Min=6.761415622478135e-06, Max=0.0184002270168417, RMS=0.008816628500765977 + +aircft nobs= 664 Min=-21.11320944427555, Max=38.548522972329, RMS=15.14182151708026 + +aircft nobs= 664 Min=-21.11320944427555, Max=38.548522972329, RMS=15.14182151708026 + +aircft nobs= 664 Min=-21.11320944427555, Max=38.548522972329, RMS=15.14182151708026 + +aircft nobs= 664 Min=-21.11320944427555, Max=38.548522972329, RMS=15.14182151708026 + +msonet nobs= 14780 Min=273.2873820626579, Max=313.2495672873898, RMS=295.4953537746921 + +msonet nobs= 15542 Min=0.0001047597635446608, Max=0.02172698374340581, RMS=0.0115774394206487 + +msonet nobs= 495191 Min=29463.6368889591, Max=102227.3416807813, RMS=95810.09586894687 + +msonet nobs= 990382 Min=-16.77924704168544, Max=24.83577584776595, RMS=3.125821717082298 + + +H(x) for member 3: +aircar nobs= 2868 Min=212.0047115773698, Max=310.7496532095923, RMS=241.7033970825867 + +aircar nobs= 143188 Min=-24.02853944361393, Max=47.15628714837041, RMS=14.62430460004913 + +aircar nobs= 216 Min=4.984285437772171e-06, Max=0.01700307520621799, RMS=0.006395589445711527 + +aircft nobs= 4 Min=223.2267337426797, Max=276.7877382016264, RMS=249.4783507098388 + +aircft nobs= 18 Min=212.6330402169603, Max=287.2956160653654, RMS=229.8106007594413 + +aircft nobs= 6 Min=214.6717186347483, Max=302.9793336574045, RMS=235.9731827582376 + +aircft: No observations. + +aircft nobs= 6 Min=8.890700113695216e-06, Max=0.0175918356787322, RMS=0.008278714676155928 + +aircft nobs= 664 Min=-20.76848155958046, Max=38.69823765640892, RMS=15.14194584537313 + +aircft nobs= 664 Min=-20.76848155958046, Max=38.69823765640892, RMS=15.14194584537313 + +aircft nobs= 664 Min=-20.76848155958046, Max=38.69823765640892, RMS=15.14194584537313 + +aircft nobs= 664 Min=-20.76848155958046, Max=38.69823765640892, RMS=15.14194584537313 + +msonet nobs= 14780 Min=271.6526236968088, Max=314.157898564078, RMS=295.5451306815178 + +msonet nobs= 15542 Min=0.0001300000953984846, Max=0.0222300572555835, RMS=0.0115274622593053 + +msonet nobs= 495191 Min=29445.02081257441, Max=102215.1876127234, RMS=95857.95966785587 + +msonet nobs= 990382 Min=-13.91186540693164, Max=27.14979665899049, RMS=3.073438787994865 + + +H(x) for member 4: +aircar nobs= 2868 Min=212.6938958230205, Max=308.4996666762671, RMS=241.9337807833743 + +aircar nobs= 143188 Min=-23.08375129153258, Max=47.71083157611237, RMS=14.49469690606995 + +aircar nobs= 216 Min=4.706310092337266e-06, Max=0.01744367213108041, RMS=0.006263041963042532 + +aircft nobs= 4 Min=223.5721580781983, Max=276.5958770360833, RMS=249.4115269041875 + +aircft nobs= 18 Min=213.4159236259944, Max=286.3405056974107, RMS=230.2305168793674 + +aircft nobs= 6 Min=215.2152286911025, Max=303.9141106521209, RMS=236.1906530537617 + +aircft: No observations. + +aircft nobs= 6 Min=1.183343884825554e-05, Max=0.01840090267765715, RMS=0.008447933127954679 + +aircft nobs= 664 Min=-21.71101103560697, Max=38.78157991540009, RMS=15.05556864346937 + +aircft nobs= 664 Min=-21.71101103560697, Max=38.78157991540009, RMS=15.05556864346937 + +aircft nobs= 664 Min=-21.71101103560697, Max=38.78157991540009, RMS=15.05556864346937 + +aircft nobs= 664 Min=-21.71101103560697, Max=38.78157991540009, RMS=15.05556864346937 + +msonet nobs= 14780 Min=271.9122643968624, Max=313.3357460561194, RMS=294.9779257721851 + +msonet nobs= 15542 Min=9.156122185157837e-05, Max=0.02094515507471831, RMS=0.01125211923402077 + +msonet nobs= 495191 Min=29427.67088419824, Max=102094.0011182461, RMS=95797.11861746853 + +msonet nobs= 990382 Min=-14.07737330848018, Max=26.22679081504323, RMS=2.969810644830166 + + +H(x) for member 5: +aircar nobs= 2868 Min=212.1238259018174, Max=307.5423934786814, RMS=242.0888575315486 + +aircar nobs= 143188 Min=-24.98536246831391, Max=47.15455469443016, RMS=14.55842294457771 + +aircar nobs= 216 Min=4.169955303613387e-06, Max=0.01917946713770266, RMS=0.00686157904729075 + +aircft nobs= 4 Min=223.7642773313366, Max=278.2610414057809, RMS=250.3555694600585 + +aircft nobs= 18 Min=212.9695839971636, Max=287.3880744356139, RMS=230.3999237696362 + +aircft nobs= 6 Min=213.8102385376613, Max=302.060709007385, RMS=235.7255805478121 + +aircft: No observations. + +aircft nobs= 6 Min=1.059512748892191e-05, Max=0.01919345481645898, RMS=0.008587141816262273 + +aircft nobs= 664 Min=-21.5489139991633, Max=38.79578355600552, RMS=15.28624394705448 + +aircft nobs= 664 Min=-21.5489139991633, Max=38.79578355600552, RMS=15.28624394705448 + +aircft nobs= 664 Min=-21.5489139991633, Max=38.79578355600552, RMS=15.28624394705448 + +aircft nobs= 664 Min=-21.5489139991633, Max=38.79578355600552, RMS=15.28624394705448 + +msonet nobs= 14780 Min=271.4712847956328, Max=312.0447320108139, RMS=295.3668943514238 + +msonet nobs= 15542 Min=0.0001056795991904475, Max=0.0221242274865921, RMS=0.01164809072079276 + +msonet nobs= 495191 Min=29427.7493335915, Max=102173.2988056845, RMS=95866.06046245735 + +msonet nobs= 990382 Min=-15.66544599672721, Max=26.25838388581701, RMS=2.98290643683689 + + +H(x) for member 6: +aircar nobs= 2868 Min=212.2218068963988, Max=309.4758515940666, RMS=242.1253303083614 + +aircar nobs= 143188 Min=-24.83086538329765, Max=46.80725509868533, RMS=14.54035100571409 + +aircar nobs= 216 Min=4.772803928740933e-06, Max=0.01927694168345166, RMS=0.00661623590683461 + +aircft nobs= 4 Min=223.2998858832821, Max=279.4176073988728, RMS=250.4376171272652 + +aircft nobs= 18 Min=212.3407588436858, Max=288.2979100819934, RMS=229.9213061627145 + +aircft nobs= 6 Min=215.1387248464164, Max=302.2080286409039, RMS=236.696148205495 + +aircft: No observations. + +aircft nobs= 6 Min=8.891512725407409e-06, Max=0.01793425881914986, RMS=0.00843526671825259 + +aircft nobs= 664 Min=-22.78000367404887, Max=38.87659345564808, RMS=15.09727941574104 + +aircft nobs= 664 Min=-22.78000367404887, Max=38.87659345564808, RMS=15.09727941574104 + +aircft nobs= 664 Min=-22.78000367404887, Max=38.87659345564808, RMS=15.09727941574104 + +aircft nobs= 664 Min=-22.78000367404887, Max=38.87659345564808, RMS=15.09727941574104 + +msonet nobs= 14780 Min=271.667780627337, Max=312.0371931821854, RMS=295.2603415060258 + +msonet nobs= 15542 Min=9.156055946534239e-05, Max=0.0225528393658717, RMS=0.01190973789267073 + +msonet nobs= 495191 Min=29390.99941148151, Max=102250.9715484365, RMS=95840.80105318216 + +msonet nobs= 990382 Min=-14.80498019415208, Max=25.89668804129973, RMS=2.982614989144318 + + +H(x) for member 7: +aircar nobs= 2868 Min=212.5786086206771, Max=308.9805152645212, RMS=242.1862979977965 + +aircar nobs= 143188 Min=-24.60513800014751, Max=47.17324593548275, RMS=14.31994557552165 + +aircar nobs= 216 Min=4.227779617677418e-06, Max=0.01862413930851291, RMS=0.006654938547595864 + +aircft nobs= 4 Min=223.4897779908597, Max=275.8631233879461, RMS=249.4832403879349 + +aircft nobs= 18 Min=213.2292000352043, Max=287.314124423023, RMS=230.4871282714211 + +aircft nobs= 6 Min=214.5911091533141, Max=302.6698492117646, RMS=235.9360250435535 + +aircft: No observations. + +aircft nobs= 6 Min=1.049922212575905e-05, Max=0.01878648126577809, RMS=0.00887419103740969 + +aircft nobs= 664 Min=-18.83230687125355, Max=38.6436651271642, RMS=14.90253608652627 + +aircft nobs= 664 Min=-18.83230687125355, Max=38.6436651271642, RMS=14.90253608652627 + +aircft nobs= 664 Min=-18.83230687125355, Max=38.6436651271642, RMS=14.90253608652627 + +aircft nobs= 664 Min=-18.83230687125355, Max=38.6436651271642, RMS=14.90253608652627 + +msonet nobs= 14780 Min=272.8282794100539, Max=312.5008021724303, RMS=295.6214476986141 + +msonet nobs= 15542 Min=8.440502806625028e-05, Max=0.02209129176888709, RMS=0.01182816481840802 + +msonet nobs= 495191 Min=29443.18021419332, Max=102224.9235820705, RMS=95841.3310418888 + +msonet nobs= 990382 Min=-13.740194365089, Max=26.03042420587247, RMS=2.772894025974182 + + +H(x) for member 8: +aircar nobs= 2868 Min=212.1073047193092, Max=308.5502771522131, RMS=241.9191085337755 + +aircar nobs= 143188 Min=-23.49484509170224, Max=46.44363325662103, RMS=14.35833847514966 + +aircar nobs= 216 Min=4.734095447146091e-06, Max=0.01996569998508002, RMS=0.006474646748463041 + +aircft nobs= 4 Min=224.0158249653553, Max=276.9001647154797, RMS=249.7965760864213 + +aircft nobs= 18 Min=213.4612835335254, Max=287.0092760418802, RMS=229.9592339251869 + +aircft nobs= 6 Min=214.3404879310732, Max=302.6328498763303, RMS=235.6304638852369 + +aircft: No observations. + +aircft nobs= 6 Min=9.79840597594738e-06, Max=0.01934107999162938, RMS=0.009092381411918822 + +aircft nobs= 664 Min=-22.54233453634797, Max=39.28536844254421, RMS=14.88687690223408 + +aircft nobs= 664 Min=-22.54233453634797, Max=39.28536844254421, RMS=14.88687690223408 + +aircft nobs= 664 Min=-22.54233453634797, Max=39.28536844254421, RMS=14.88687690223408 + +aircft nobs= 664 Min=-22.54233453634797, Max=39.28536844254421, RMS=14.88687690223408 + +msonet nobs= 14780 Min=271.8613530859487, Max=314.0559119321737, RMS=295.2329123712734 + +msonet nobs= 15542 Min=8.425581139397539e-05, Max=0.02252884304921959, RMS=0.01184839988789098 + +msonet nobs= 495191 Min=29498.94855566724, Max=102248.6520247913, RMS=95835.27446721919 + +msonet nobs= 990382 Min=-15.12674630558692, Max=26.54795307347342, RMS=2.888167580843371 + + +H(x) for member 9: +aircar nobs= 2868 Min=211.8065335374933, Max=307.4692807720662, RMS=241.914637619462 + +aircar nobs= 143188 Min=-24.80315800419, Max=47.85388548167207, RMS=14.57378471123125 + +aircar nobs= 216 Min=4.194757573424889e-06, Max=0.02018035689132685, RMS=0.006759224363529189 + +aircft nobs= 4 Min=223.8286132402518, Max=276.9223164873726, RMS=249.8445072419214 + +aircft nobs= 18 Min=212.5020041728804, Max=289.1121378034642, RMS=230.1471160374038 + +aircft nobs= 6 Min=214.572835395025, Max=301.7591249084891, RMS=235.6476412200165 + +aircft: No observations. + +aircft nobs= 6 Min=1.126712859609602e-05, Max=0.01874297684346449, RMS=0.008563453442223945 + +aircft nobs= 664 Min=-21.91667189063656, Max=38.91762794180058, RMS=15.21268814576919 + +aircft nobs= 664 Min=-21.91667189063656, Max=38.91762794180058, RMS=15.21268814576919 + +aircft nobs= 664 Min=-21.91667189063656, Max=38.91762794180058, RMS=15.21268814576919 + +aircft nobs= 664 Min=-21.91667189063656, Max=38.91762794180058, RMS=15.21268814576919 + +msonet nobs= 14780 Min=271.6364400968445, Max=311.802942380996, RMS=295.4505685338401 + +msonet nobs= 15542 Min=0.0001079171577206751, Max=0.02301954820442774, RMS=0.01164835748784395 + +msonet nobs= 495191 Min=29475.37738231573, Max=102261.1024129286, RMS=95888.55374457774 + +msonet nobs= 990382 Min=-14.11948696329861, Max=23.78092594563765, RMS=2.926744203442708 + + +H(x) for member 10: +aircar nobs= 2868 Min=212.2687398504846, Max=310.3799987117445, RMS=241.8823075885056 + +aircar nobs= 143188 Min=-23.31370039065068, Max=47.83821809364094, RMS=14.62403568342854 + +aircar nobs= 216 Min=3.564292447256187e-06, Max=0.01751153085750397, RMS=0.006315089766402225 + +aircft nobs= 4 Min=223.699585367771, Max=277.0547781992042, RMS=249.953851299785 + +aircft nobs= 18 Min=213.4754574212723, Max=287.3743725351863, RMS=229.8610835897031 + +aircft nobs= 6 Min=214.2626518972683, Max=303.752902540671, RMS=235.5778233455129 + +aircft: No observations. + +aircft nobs= 6 Min=1.221276148842345e-05, Max=0.01868153304848976, RMS=0.008658345847908689 + +aircft nobs= 664 Min=-21.79570854104336, Max=38.44992178499341, RMS=15.14991138095469 + +aircft nobs= 664 Min=-21.79570854104336, Max=38.44992178499341, RMS=15.14991138095469 + +aircft nobs= 664 Min=-21.79570854104336, Max=38.44992178499341, RMS=15.14991138095469 + +aircft nobs= 664 Min=-21.79570854104336, Max=38.44992178499341, RMS=15.14991138095469 + +msonet nobs= 14780 Min=272.0003908187298, Max=314.7991883641899, RMS=294.9638664366099 + +msonet nobs= 15542 Min=8.246984706341949e-05, Max=0.02223292621160958, RMS=0.01160557299087838 + +msonet nobs= 495191 Min=29419.79301970852, Max=102202.3684872991, RMS=95776.24009043825 + +msonet nobs= 990382 Min=-14.40788426202626, Max=24.15259133903733, RMS=2.895383620583852 + + +H(x) for member 11: +aircar nobs= 2868 Min=211.9530575863386, Max=307.7297459793672, RMS=242.0124344890993 + +aircar nobs= 143188 Min=-22.86212798723097, Max=47.51629101588564, RMS=14.48479203894718 + +aircar nobs= 216 Min=4.977239362847735e-06, Max=0.01952964852749171, RMS=0.006649215195730899 + +aircft nobs= 4 Min=223.8627359156025, Max=277.2072160108232, RMS=250.03197282611 + +aircft nobs= 18 Min=212.6894809791084, Max=287.7204801752246, RMS=229.9665143754808 + +aircft nobs= 6 Min=214.956535040209, Max=302.7807335533113, RMS=235.9974257558389 + +aircft: No observations. + +aircft nobs= 6 Min=9.897583024686064e-06, Max=0.01907494919826526, RMS=0.008872808582817849 + +aircft nobs= 664 Min=-20.87246512522842, Max=38.95026813486437, RMS=15.06304376476841 + +aircft nobs= 664 Min=-20.87246512522842, Max=38.95026813486437, RMS=15.06304376476841 + +aircft nobs= 664 Min=-20.87246512522842, Max=38.95026813486437, RMS=15.06304376476841 + +aircft nobs= 664 Min=-20.87246512522842, Max=38.95026813486437, RMS=15.06304376476841 + +msonet nobs= 14780 Min=272.2395032013201, Max=312.228389844398, RMS=295.0485535985528 + +msonet nobs= 15542 Min=9.194724327325136e-05, Max=0.02118606010772714, RMS=0.01190122396916425 + +msonet nobs= 495191 Min=29400.97049202042, Max=102222.6064117291, RMS=95782.43466810361 + +msonet nobs= 990382 Min=-13.01901580869816, Max=26.40424929089657, RMS=2.880440398810662 + + +H(x) for member 12: +aircar nobs= 2868 Min=212.3226522334534, Max=307.8131637110849, RMS=242.1766989336714 + +aircar nobs= 143188 Min=-23.58766521451332, Max=47.51720458985639, RMS=14.40627866906275 + +aircar nobs= 216 Min=4.272558472531606e-06, Max=0.01733752204454495, RMS=0.006387739262418792 + +aircft nobs= 4 Min=223.7201583714597, Max=274.9422111609535, RMS=249.4681638720958 + +aircft nobs= 18 Min=212.6364202006684, Max=286.8517880554386, RMS=229.7181360099558 + +aircft nobs= 6 Min=214.568507162489, Max=302.8255439360559, RMS=235.1303498737673 + +aircft: No observations. + +aircft nobs= 6 Min=1.216677652509925e-05, Max=0.01889980377947215, RMS=0.008967736572519518 + +aircft nobs= 664 Min=-20.00035768490671, Max=38.7866047968258, RMS=14.92253512627451 + +aircft nobs= 664 Min=-20.00035768490671, Max=38.7866047968258, RMS=14.92253512627451 + +aircft nobs= 664 Min=-20.00035768490671, Max=38.7866047968258, RMS=14.92253512627451 + +aircft nobs= 664 Min=-20.00035768490671, Max=38.7866047968258, RMS=14.92253512627451 + +msonet nobs= 14780 Min=273.7421228226725, Max=312.767979900692, RMS=295.2120119597224 + +msonet nobs= 15542 Min=9.033841706856615e-05, Max=0.02151773594104428, RMS=0.01183063224261862 + +msonet nobs= 495191 Min=29328.13585782141, Max=102213.8181766154, RMS=95806.30206676619 + +msonet nobs= 990382 Min=-14.00295695705846, Max=26.21218109283038, RMS=2.753775256450924 + + +H(x) for member 13: +aircar nobs= 2868 Min=212.3068159122231, Max=304.8033381081999, RMS=242.3379707454725 + +aircar nobs= 143188 Min=-24.63091073979356, Max=48.17944189875398, RMS=14.79239992859762 + +aircar nobs= 216 Min=5.066525319392961e-06, Max=0.01745661434097716, RMS=0.006378246167092881 + +aircft nobs= 4 Min=223.7069196359511, Max=276.9076314855985, RMS=249.9358180291706 + +aircft nobs= 18 Min=213.1331182992227, Max=287.7271878841061, RMS=230.7786273862409 + +aircft nobs= 6 Min=214.34859310949, Max=304.6389163459828, RMS=236.7786364146436 + +aircft: No observations. + +aircft nobs= 6 Min=9.427482110296768e-06, Max=0.01740784234620951, RMS=0.008217445539530209 + +aircft nobs= 664 Min=-23.03171568981018, Max=38.67803988475507, RMS=15.29311174923753 + +aircft nobs= 664 Min=-23.03171568981018, Max=38.67803988475507, RMS=15.29311174923753 + +aircft nobs= 664 Min=-23.03171568981018, Max=38.67803988475507, RMS=15.29311174923753 + +aircft nobs= 664 Min=-23.03171568981018, Max=38.67803988475507, RMS=15.29311174923753 + +msonet nobs= 14780 Min=271.3592194373582, Max=311.7237876399159, RMS=295.1194764441865 + +msonet nobs= 15542 Min=8.342389705973943e-05, Max=0.02058141102273336, RMS=0.01150674177937049 + +msonet nobs= 495191 Min=29482.3545744236, Max=102169.7884716288, RMS=95812.68448919381 + +msonet nobs= 990382 Min=-14.98612945116338, Max=25.99049292766378, RMS=3.082808967875912 + + +H(x) for member 14: +aircar nobs= 2868 Min=212.1407926788119, Max=308.945573589391, RMS=241.9217984761702 + +aircar nobs= 143188 Min=-24.23503898681848, Max=47.42267130257311, RMS=14.66332963664211 + +aircar nobs= 216 Min=3.381743794437706e-06, Max=0.01774129506535147, RMS=0.006483767519413238 + +aircft nobs= 4 Min=223.5675796315672, Max=277.4612992182968, RMS=249.8323252617075 + +aircft nobs= 18 Min=213.165624337256, Max=286.741361842405, RMS=230.0317202312866 + +aircft nobs= 6 Min=214.3501188574521, Max=302.1217985776159, RMS=235.0003300236832 + +aircft: No observations. + +aircft nobs= 6 Min=1.246677943993657e-05, Max=0.01863622230413714, RMS=0.008468164650791178 + +aircft nobs= 664 Min=-21.90225976027695, Max=38.84637603611445, RMS=15.24662429376794 + +aircft nobs= 664 Min=-21.90225976027695, Max=38.84637603611445, RMS=15.24662429376794 + +aircft nobs= 664 Min=-21.90225976027695, Max=38.84637603611445, RMS=15.24662429376794 + +aircft nobs= 664 Min=-21.90225976027695, Max=38.84637603611445, RMS=15.24662429376794 + +msonet nobs= 14780 Min=271.5617662461316, Max=313.0332337020697, RMS=294.8800619913378 + +msonet nobs= 15542 Min=7.732795983903032e-05, Max=0.02208555390623781, RMS=0.01142920805897427 + +msonet nobs= 495191 Min=29440.94984699539, Max=102195.1458601022, RMS=95797.83018505872 + +msonet nobs= 990382 Min=-14.85061707628785, Max=24.49296773543317, RMS=3.002936128581041 + + +H(x) for member 15: +aircar nobs= 2868 Min=212.0849564542079, Max=307.2908199328317, RMS=242.1093509887678 + +aircar nobs= 143188 Min=-23.62097284384737, Max=48.31968569529978, RMS=14.69211536765485 + +aircar nobs= 216 Min=3.492404453746324e-06, Max=0.01734616453033549, RMS=0.006584757617140583 + +aircft nobs= 4 Min=223.3581472852869, Max=277.3724915376987, RMS=249.9045204863371 + +aircft nobs= 18 Min=213.2639992726402, Max=288.7562049962342, RMS=230.3130461562873 + +aircft nobs= 6 Min=214.2291104317532, Max=301.5855189638693, RMS=235.5931013663562 + +aircft: No observations. + +aircft nobs= 6 Min=1.18963268101035e-05, Max=0.01762057702586622, RMS=0.008294694635606739 + +aircft nobs= 664 Min=-19.42743471383223, Max=38.80974984224623, RMS=15.17827859004144 + +aircft nobs= 664 Min=-19.42743471383223, Max=38.80974984224623, RMS=15.17827859004144 + +aircft nobs= 664 Min=-19.42743471383223, Max=38.80974984224623, RMS=15.17827859004144 + +aircft nobs= 664 Min=-19.42743471383223, Max=38.80974984224623, RMS=15.17827859004144 + +msonet nobs= 14780 Min=272.6293666193761, Max=311.6386665660472, RMS=295.4743627046736 + +msonet nobs= 15542 Min=8.242919484039278e-05, Max=0.0212500754092333, RMS=0.01182251329558771 + +msonet nobs= 495191 Min=29555.75195339001, Max=102294.1849520724, RMS=95818.24864840166 + +msonet nobs= 990382 Min=-14.66898191786445, Max=24.43279461569687, RMS=3.026935494259282 + + +H(x) for member 16: +aircar nobs= 2868 Min=212.2230234852468, Max=308.6801577387702, RMS=242.2741298521659 + +aircar nobs= 143188 Min=-23.45504523704518, Max=47.58015506672093, RMS=14.46948411569134 + +aircar nobs= 216 Min=4.172670137746618e-06, Max=0.0173786323485358, RMS=0.006559379606643184 + +aircft nobs= 4 Min=223.9140081627336, Max=277.3205714480439, RMS=250.2698130673573 + +aircft nobs= 18 Min=213.6692822666542, Max=288.5883437114192, RMS=230.3232349838349 + +aircft nobs= 6 Min=214.0865642787863, Max=303.8695366564419, RMS=235.7416529967501 + +aircft: No observations. + +aircft nobs= 6 Min=1.041457011868122e-05, Max=0.01779398965625601, RMS=0.008382268330569889 + +aircft nobs= 664 Min=-19.8878203570721, Max=39.08251679899488, RMS=14.83814998847392 + +aircft nobs= 664 Min=-19.8878203570721, Max=39.08251679899488, RMS=14.83814998847392 + +aircft nobs= 664 Min=-19.8878203570721, Max=39.08251679899488, RMS=14.83814998847392 + +aircft nobs= 664 Min=-19.8878203570721, Max=39.08251679899488, RMS=14.83814998847392 + +msonet nobs= 14780 Min=271.8686302115799, Max=312.6111698164279, RMS=295.431656325129 + +msonet nobs= 15542 Min=9.328066092886105e-05, Max=0.02207860145236734, RMS=0.0118595114372901 + +msonet nobs= 495191 Min=29345.37799922579, Max=102153.5670830176, RMS=95737.35892497924 + +msonet nobs= 990382 Min=-15.40006517005825, Max=25.00065025190138, RMS=2.956941470862236 + + +H(x) for member 17: +aircar nobs= 2868 Min=211.7790458963281, Max=308.5575302776877, RMS=241.9287611817501 + +aircar nobs= 143188 Min=-24.81183411052841, Max=47.84127052362889, RMS=14.52430002730809 + +aircar nobs= 216 Min=5.998627924544161e-06, Max=0.0174125611172377, RMS=0.006231370404814992 + +aircft nobs= 4 Min=223.7012839405969, Max=277.8241080900794, RMS=250.194540861429 + +aircft nobs= 18 Min=213.4525941204408, Max=286.6331078715878, RMS=230.2028850807137 + +aircft nobs= 6 Min=213.5506880952781, Max=302.6268304234449, RMS=234.9232425587516 + +aircft: No observations. + +aircft nobs= 6 Min=1.18575714340193e-05, Max=0.01836407279889699, RMS=0.008640411966597957 + +aircft nobs= 664 Min=-20.57574690829772, Max=38.72592548735755, RMS=15.0360561700813 + +aircft nobs= 664 Min=-20.57574690829772, Max=38.72592548735755, RMS=15.0360561700813 + +aircft nobs= 664 Min=-20.57574690829772, Max=38.72592548735755, RMS=15.0360561700813 + +aircft nobs= 664 Min=-20.57574690829772, Max=38.72592548735755, RMS=15.0360561700813 + +msonet nobs= 14780 Min=271.1179539228508, Max=312.9130353845639, RMS=294.8867520930608 + +msonet nobs= 15542 Min=8.908415842385783e-05, Max=0.02185459532877791, RMS=0.01142060595066264 + +msonet nobs= 495191 Min=29473.23185409537, Max=102263.0495603198, RMS=95872.94617950104 + +msonet nobs= 990382 Min=-14.81759493335301, Max=24.8549026503549, RMS=3.057446393059339 + + +H(x) for member 18: +aircar nobs= 2868 Min=212.0335144475843, Max=310.4242705495974, RMS=242.1986991572386 + +aircar nobs= 143188 Min=-24.22038623152239, Max=46.87981680993202, RMS=14.37784948205909 + +aircar nobs= 216 Min=5.211795372173424e-06, Max=0.02020278042889391, RMS=0.006740605414181595 + +aircft nobs= 4 Min=223.3997930043172, Max=276.4507056030322, RMS=249.9720455347787 + +aircft nobs= 18 Min=213.0952610012728, Max=287.0417817305552, RMS=230.2401360044321 + +aircft nobs= 6 Min=214.1875520218082, Max=302.6508571982377, RMS=235.1923642104442 + +aircft: No observations. + +aircft nobs= 6 Min=1.362371901435234e-05, Max=0.01967331477955898, RMS=0.008781249969000831 + +aircft nobs= 664 Min=-21.0176223323457, Max=39.52936135763935, RMS=14.79176393632202 + +aircft nobs= 664 Min=-21.0176223323457, Max=39.52936135763935, RMS=14.79176393632202 + +aircft nobs= 664 Min=-21.0176223323457, Max=39.52936135763935, RMS=14.79176393632202 + +aircft nobs= 664 Min=-21.0176223323457, Max=39.52936135763935, RMS=14.79176393632202 + +msonet nobs= 14780 Min=273.6590367776336, Max=313.2171031410647, RMS=295.476662273122 + +msonet nobs= 15542 Min=0.0001043306129772965, Max=0.0229190169196395, RMS=0.01205014728100886 + +msonet nobs= 495191 Min=29352.37079423737, Max=102153.6620190882, RMS=95745.57780036563 + +msonet nobs= 990382 Min=-14.55686082300863, Max=25.02189104775775, RMS=2.865147788561993 + + +H(x) for member 19: +aircar nobs= 2868 Min=212.3494297962048, Max=309.0188728743239, RMS=242.0588457420756 + +aircar nobs= 143188 Min=-24.76016015940419, Max=47.04095979026656, RMS=14.57623102279695 + +aircar nobs= 216 Min=4.817089661860612e-06, Max=0.01765704527079586, RMS=0.006590419558343202 + +aircft nobs= 4 Min=222.966578325534, Max=277.8783004627876, RMS=249.7975140896734 + +aircft nobs= 18 Min=213.0341735785461, Max=287.2198161375191, RMS=230.1702730784002 + +aircft nobs= 6 Min=214.6221990416155, Max=302.4921026052428, RMS=235.4671999869574 + +aircft: No observations. + +aircft nobs= 6 Min=1.160307583892005e-05, Max=0.01872909067626218, RMS=0.008742080664612829 + +aircft nobs= 664 Min=-18.42547669742349, Max=38.63615448369143, RMS=14.93294331251973 + +aircft nobs= 664 Min=-18.42547669742349, Max=38.63615448369143, RMS=14.93294331251973 + +aircft nobs= 664 Min=-18.42547669742349, Max=38.63615448369143, RMS=14.93294331251973 + +aircft nobs= 664 Min=-18.42547669742349, Max=38.63615448369143, RMS=14.93294331251973 + +msonet nobs= 14780 Min=272.9575882510582, Max=312.8693672213386, RMS=295.7889555861 + +msonet nobs= 15542 Min=0.0001050200848226974, Max=0.02215184533310044, RMS=0.01170127612667203 + +msonet nobs= 495191 Min=29383.32387574678, Max=102145.1928262614, RMS=95810.28047331516 + +msonet nobs= 990382 Min=-16.00268834041233, Max=25.83225590284357, RMS=2.948100696517963 + + +H(x) for member 20: +aircar nobs= 2868 Min=212.1596360857826, Max=306.4707072507896, RMS=242.1603536748634 + +aircar nobs= 143188 Min=-24.1930806837295, Max=47.16232477872315, RMS=14.4198368814635 + +aircar nobs= 216 Min=3.876346975899621e-06, Max=0.02038312406088462, RMS=0.006882224741514994 + +aircft nobs= 4 Min=223.7012289891577, Max=276.8855357127032, RMS=250.1794002399702 + +aircft nobs= 18 Min=212.7568726963587, Max=286.3599207691887, RMS=230.1110469712925 + +aircft nobs= 6 Min=214.5223728663202, Max=300.4017126811235, RMS=235.2667888872804 + +aircft: No observations. + +aircft nobs= 6 Min=7.44203753892567e-06, Max=0.01925193541064047, RMS=0.00902005389228238 + +aircft nobs= 664 Min=-22.02899389921879, Max=38.89835378700597, RMS=14.94786859358248 + +aircft nobs= 664 Min=-22.02899389921879, Max=38.89835378700597, RMS=14.94786859358248 + +aircft nobs= 664 Min=-22.02899389921879, Max=38.89835378700597, RMS=14.94786859358248 + +aircft nobs= 664 Min=-22.02899389921879, Max=38.89835378700597, RMS=14.94786859358248 + +msonet nobs= 14780 Min=272.9427215949178, Max=312.7565127038184, RMS=295.2845238624452 + +msonet nobs= 15542 Min=8.956742628359187e-05, Max=0.02196081948718336, RMS=0.01180753063219476 + +msonet nobs= 495191 Min=29375.96930778507, Max=102271.2190121783, RMS=95828.60387467869 + +msonet nobs= 990382 Min=-14.01094300781866, Max=26.94978557926705, RMS=2.984759921191668 + + +H(x) ensemble background mean: +aircar nobs= 71594 Min=211.9477913421385, Max=309.0478189760041, RMS=258.321955229972 + +aircar nobs= 143188 Min=-23.95951519747803, Max=46.75681415904203, RMS=14.5163982669525 + +aircar nobs= 71594 Min=2.767474564255002e-06, Max=0.01932002752111726, RMS=0.005004353448305292 + +aircft nobs= 332 Min=213.0451194057942, Max=303.4264950055478, RMS=253.0683766026985 + +aircft nobs= 332 Min=213.0451194057942, Max=303.4264950055478, RMS=253.0683766026985 + +aircft nobs= 332 Min=213.0451194057942, Max=303.4264950055478, RMS=253.0683766026985 + +aircft nobs= 332 Min=213.0451194057942, Max=303.4264950055478, RMS=253.0683766026985 + +aircft nobs= 332 Min=4.233712325325923e-06, Max=0.01849032288167721, RMS=0.005077681183971052 + +aircft nobs= 664 Min=-20.80586075027866, Max=38.77217313046182, RMS=15.03746946453103 + +aircft nobs= 664 Min=-20.80586075027866, Max=38.77217313046182, RMS=15.03746946453103 + +aircft nobs= 664 Min=-20.80586075027866, Max=38.77217313046182, RMS=15.03746946453103 + +aircft nobs= 664 Min=-20.80586075027866, Max=38.77217313046182, RMS=15.03746946453103 + +msonet nobs= 495191 Min=228.1268502874939, Max=313.9900283443312, RMS=294.6787467332437 + +msonet nobs= 495191 Min=0.0001023159324916065, Max=0.02160467178522155, RMS=0.0109530277625674 + +msonet nobs= 495191 Min=29426.50682540813, Max=102184.37272129, RMS=95819.23302700851 + +msonet nobs= 990382 Min=-13.91447463944256, Max=25.60388291350207, RMS=2.831167193188216 + + +background y - H(x): +aircar nobs= 35797 Min=-30.42899713145454, Max=54.76546774484314, RMS=9.05944391703356 + +aircar nobs= 71594 Min=-40.48260683111261, Max=33.29526369400015, RMS=4.202074026849945 + +aircar nobs= 4638 Min=-0.01268642861428071, Max=0.006851189324096418, RMS=0.001557495441380839 + +aircft nobs= 124 Min=-100.1339143171451, Max=18.99634791412103, RMS=33.2065211302483 + +aircft nobs= 124 Min=-100.1339143171451, Max=18.99634791412103, RMS=33.2065211302483 + +aircft nobs= 124 Min=-100.1339143171451, Max=18.99634791412103, RMS=33.2065211302483 + +aircft nobs= 124 Min=-100.1339143171451, Max=18.99634791412103, RMS=33.2065211302483 + +aircft nobs= 45 Min=-0.01011887802696399, Max=0.007700832754463356, RMS=0.003335938694129191 + +aircft nobs= 250 Min=-113.0754575621809, Max=21.63824695773029, RMS=23.68154120343969 + +aircft nobs= 250 Min=-113.0754575621809, Max=21.63824695773029, RMS=23.68154120343969 + +aircft nobs= 250 Min=-113.0754575621809, Max=21.63824695773029, RMS=23.68154120343969 + +aircft nobs= 250 Min=-113.0754575621809, Max=21.63824695773029, RMS=23.68154120343969 + +msonet nobs= 240118 Min=-100.9256872368126, Max=67.80488128761158, RMS=4.125526769148869 + +msonet nobs= 219793 Min=-0.02023786023821, Max=0.05709739357283546, RMS=0.002376082538412705 + +msonet nobs= 495191 Min=-52537.60559672829, Max=26214.64657839434, RMS=1074.658400997829 + +msonet nobs= 465786 Min=-100.6478128956136, Max=140.188320035937, RMS=2.504200782404299 + + diff --git a/rrfs-test/testoutput/rrfs-fv3jedi-getkf-solver.ref b/rrfs-test/testoutput/rrfs-fv3jedi-getkf-solver.ref new file mode 100644 index 00000000..c6e1cbd1 --- /dev/null +++ b/rrfs-test/testoutput/rrfs-fv3jedi-getkf-solver.ref @@ -0,0 +1,1056 @@ +Initial state for member 1: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6499134063720703e+01 Max:+4.9989711761474609e+01 RMS:+1.3262253391734740e+01 +northward_wind | Min:-3.1644960403442383e+01 Max:+3.3157646179199219e+01 RMS:+6.5269264427806881e+00 +air_temperature | Min:+1.9785134887695312e+02 Max:+3.1549230957031250e+02 RMS:+2.5814909365142250e+02 +air_pressure_thickness | Min:+1.4034443664550781e+02 Max:+3.3281875000000000e+03 RMS:+1.7749727182384038e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.3515200205729343e-07 Max:+2.2490598261356354e-02 RMS:+5.3644527681108427e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.9222671107854694e-04 RMS:+1.3429556577548235e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5210718847811222e-03 RMS:+2.3536100314367489e-05 +ozone_mass_mixing_ratio | Min:+7.5481452685433048e-12 Max:+1.5771141988807358e-05 RMS:+4.4525934971917886e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010293722152710e+00 Max:+1.1085011959075928e+00 RMS:+1.0205106412404941e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 2: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.8106489181518555e+01 Max:+5.6901546478271484e+01 RMS:+1.3116083626982322e+01 +northward_wind | Min:-3.1490596771240234e+01 Max:+3.9901718139648438e+01 RMS:+6.5588310604157840e+00 +air_temperature | Min:+1.9690568542480469e+02 Max:+3.1674716186523438e+02 RMS:+2.5830189401229040e+02 +air_pressure_thickness | Min:+1.4034533691406250e+02 Max:+3.3270117187500000e+03 RMS:+1.7744052609507178e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.4007100415183231e-07 Max:+2.2349845618009567e-02 RMS:+5.4679779389121084e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+5.1339896162971854e-04 RMS:+3.2043168972653205e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+2.0454830955713987e-03 RMS:+2.6629053646558928e-05 +ozone_mass_mixing_ratio | Min:+7.5439524419018689e-12 Max:+1.5824763977434486e-05 RMS:+4.4505890532164408e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0004920959472656e+00 Max:+1.1078704595565796e+00 RMS:+1.0205072256851069e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 3: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6645488739013672e+01 Max:+4.8789447784423828e+01 RMS:+1.3210939712799370e+01 +northward_wind | Min:-2.7244195938110352e+01 Max:+3.2044513702392578e+01 RMS:+6.1573691735834428e+00 +air_temperature | Min:+1.9786824035644531e+02 Max:+3.1720043945312500e+02 RMS:+2.5824192583175966e+02 +air_pressure_thickness | Min:+1.4033721923828125e+02 Max:+3.3272148437500000e+03 RMS:+1.7752423395098870e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.6246493563303375e-07 Max:+2.2807538509368896e-02 RMS:+5.4086062995937993e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.9841185207478702e-04 RMS:+2.7463195176756640e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3178195804357529e-03 RMS:+2.2973147961778760e-05 +ozone_mass_mixing_ratio | Min:+7.5441354552285844e-12 Max:+1.5893127056187950e-05 RMS:+4.4510540970893445e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0006304979324341e+00 Max:+1.1086137294769287e+00 RMS:+1.0206786964123011e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 4: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6819168090820312e+01 Max:+5.3625953674316406e+01 RMS:+1.3383426690730147e+01 +northward_wind | Min:-2.9948707580566406e+01 Max:+2.7059003829956055e+01 RMS:+6.1318265632636297e+00 +air_temperature | Min:+1.9757196044921875e+02 Max:+3.1528298950195312e+02 RMS:+2.5820521138487823e+02 +air_pressure_thickness | Min:+1.4022798156738281e+02 Max:+3.3241757812500000e+03 RMS:+1.7737286583178231e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.5318423619610257e-07 Max:+2.2498149424791336e-02 RMS:+5.4605775834982717e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.7312151612713933e-04 RMS:+1.3669322767437857e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7449950100854039e-03 RMS:+2.1366605516018157e-05 +ozone_mass_mixing_ratio | Min:+7.5434866686485691e-12 Max:+1.5802654161234386e-05 RMS:+4.4495849424847505e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0005342960357666e+00 Max:+1.1080715656280518e+00 RMS:+1.0209952679774752e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 5: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6862178802490234e+01 Max:+4.9266716003417969e+01 RMS:+1.3266688514728612e+01 +northward_wind | Min:-3.2490325927734375e+01 Max:+4.0594707489013672e+01 RMS:+6.4533389874139893e+00 +air_temperature | Min:+1.9749073791503906e+02 Max:+3.1577050781250000e+02 RMS:+2.5817849129742751e+02 +air_pressure_thickness | Min:+1.4046246337890625e+02 Max:+3.3259140625000000e+03 RMS:+1.7751639386128631e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.6862894477235386e-07 Max:+2.4167863652110100e-02 RMS:+5.4720294104784514e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.4941008198074996e-04 RMS:+3.1754586663417470e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8839602125808597e-03 RMS:+2.4100219865463045e-05 +ozone_mass_mixing_ratio | Min:+7.5455327749884837e-12 Max:+1.5807516319910064e-05 RMS:+4.4485612214842732e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0008239746093750e+00 Max:+1.1048620939254761e+00 RMS:+1.0207912669696568e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 6: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7373611450195312e+01 Max:+5.0075763702392578e+01 RMS:+1.3143567364481166e+01 +northward_wind | Min:-2.6300935745239258e+01 Max:+3.5502925872802734e+01 RMS:+6.0481649386029286e+00 +air_temperature | Min:+1.9782315063476562e+02 Max:+3.1600143432617188e+02 RMS:+2.5831177472705548e+02 +air_pressure_thickness | Min:+1.4039930725097656e+02 Max:+3.3266367187500000e+03 RMS:+1.7747966267562649e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.8775599376967875e-07 Max:+2.5118852034211159e-02 RMS:+5.5842558877425268e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.4581811632961035e-04 RMS:+2.9993929901605172e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.5151537954807281e-03 RMS:+2.3647832941379487e-05 +ozone_mass_mixing_ratio | Min:+7.5486552772452420e-12 Max:+1.5783893104526214e-05 RMS:+4.4495568438728818e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010459423065186e+00 Max:+1.1089090108871460e+00 RMS:+1.0202157412000197e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 7: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6941808700561523e+01 Max:+4.8607387542724609e+01 RMS:+1.3002154725017949e+01 +northward_wind | Min:-2.6337463378906250e+01 Max:+3.1117197036743164e+01 RMS:+5.8862135505792832e+00 +air_temperature | Min:+1.9747534179687500e+02 Max:+3.1579403686523438e+02 RMS:+2.5839351379880895e+02 +air_pressure_thickness | Min:+1.4042308044433594e+02 Max:+3.3278515625000000e+03 RMS:+1.7747968763696420e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.7451064700871939e-07 Max:+2.2607523947954178e-02 RMS:+5.5335149902015898e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.6096031544730067e-04 RMS:+2.5948294946622258e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.0989003349095583e-03 RMS:+2.0046728919282610e-05 +ozone_mass_mixing_ratio | Min:+7.5491652859471792e-12 Max:+1.5870067727519199e-05 RMS:+4.4504931019409158e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0003613233566284e+00 Max:+1.1084893941879272e+00 RMS:+1.0206275303623997e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 8: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6109445571899414e+01 Max:+4.9386592864990234e+01 RMS:+1.3093839374879357e+01 +northward_wind | Min:-2.7203722000122070e+01 Max:+2.5723331451416016e+01 RMS:+5.8111438559023263e+00 +air_temperature | Min:+1.9761149597167969e+02 Max:+3.1740347290039062e+02 RMS:+2.5830830023356691e+02 +air_pressure_thickness | Min:+1.4032115173339844e+02 Max:+3.3286718750000000e+03 RMS:+1.7747488499289088e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.7689287536486518e-07 Max:+2.3275764659047127e-02 RMS:+5.5913934677775199e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.7662134855054319e-04 RMS:+1.8956585296965731e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2587754754349589e-03 RMS:+1.5943086414335800e-05 +ozone_mass_mixing_ratio | Min:+7.5490039566639133e-12 Max:+1.5825018635950983e-05 RMS:+4.4486118283589482e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0003845691680908e+00 Max:+1.1039444208145142e+00 RMS:+1.0209412270767817e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 9: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6310241699218750e+01 Max:+4.9246311187744141e+01 RMS:+1.3160478015113144e+01 +northward_wind | Min:-2.8684217453002930e+01 Max:+3.1660406112670898e+01 RMS:+6.2221365374410373e+00 +air_temperature | Min:+1.9741758728027344e+02 Max:+3.1513531494140625e+02 RMS:+2.5822722106009360e+02 +air_pressure_thickness | Min:+1.4031372070312500e+02 Max:+3.3290468750000000e+03 RMS:+1.7754660404500862e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.9598466956886114e-07 Max:+2.4846609681844711e-02 RMS:+5.4534888633199071e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.4796685213223100e-04 RMS:+1.9935026283450895e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.6497153555974364e-03 RMS:+2.1956455920666283e-05 +ozone_mass_mixing_ratio | Min:+7.5454911416250603e-12 Max:+1.5767522199894302e-05 RMS:+4.4502307049463693e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0008653402328491e+00 Max:+1.1021604537963867e+00 RMS:+1.0207109838045307e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 10: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7050924301147461e+01 Max:+5.1978160858154297e+01 RMS:+1.3250525990200163e+01 +northward_wind | Min:-2.8364637374877930e+01 Max:+3.3916038513183594e+01 RMS:+6.0548781194070758e+00 +air_temperature | Min:+1.9768316650390625e+02 Max:+3.1774792480468750e+02 RMS:+2.5819200831116444e+02 +air_pressure_thickness | Min:+1.4022763061523438e+02 Max:+3.3249765625000000e+03 RMS:+1.7734577254333840e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+4.4973046442464693e-07 Max:+2.2597698494791985e-02 RMS:+5.4781664530905395e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.8071709200739861e-04 RMS:+1.2834277276674604e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2537821894511580e-03 RMS:+1.5716571013717043e-05 +ozone_mass_mixing_ratio | Min:+7.5446792910383031e-12 Max:+1.5845356756472029e-05 RMS:+4.4498046122710721e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0001921653747559e+00 Max:+1.1076467037200928e+00 RMS:+1.0208915264437164e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 11: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6616983413696289e+01 Max:+5.1781116485595703e+01 RMS:+1.3340566336547429e+01 +northward_wind | Min:-2.9337350845336914e+01 Max:+3.0298658370971680e+01 RMS:+6.0080666677559575e+00 +air_temperature | Min:+1.9742958068847656e+02 Max:+3.1527807617187500e+02 RMS:+2.5825495555392627e+02 +air_pressure_thickness | Min:+1.4028230285644531e+02 Max:+3.3252578125000000e+03 RMS:+1.7736533069468749e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.0778504601112218e-07 Max:+2.2172430530190468e-02 RMS:+5.5576782320440454e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.9987111338414252e-04 RMS:+1.4619655050157170e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+9.6104486146941781e-04 RMS:+1.5324212236160586e-05 +ozone_mass_mixing_ratio | Min:+7.5473039276574561e-12 Max:+1.5832516510272399e-05 RMS:+4.4506254901933905e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0005042552947998e+00 Max:+1.1078217029571533e+00 RMS:+1.0207586755531943e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 12: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6444913864135742e+01 Max:+5.0670928955078125e+01 RMS:+1.3059387416111200e+01 +northward_wind | Min:-2.5791559219360352e+01 Max:+3.5664493560791016e+01 RMS:+6.0356068821683024e+00 +air_temperature | Min:+1.9762724304199219e+02 Max:+3.1485104370117188e+02 RMS:+2.5835058150462601e+02 +air_pressure_thickness | Min:+1.4039212036132812e+02 Max:+3.3250976562500000e+03 RMS:+1.7739167531010219e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+6.3532422700518509e-07 Max:+2.3982960730791092e-02 RMS:+5.5898983272991629e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.6571200578473508e-04 RMS:+2.1679254448140457e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3496220344677567e-03 RMS:+1.7154022765488559e-05 +ozone_mass_mixing_ratio | Min:+7.5464808013681051e-12 Max:+1.5792242265888490e-05 RMS:+4.4496367443319946e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0007667541503906e+00 Max:+1.0994825363159180e+00 RMS:+1.0207185110790009e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 13: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7489501953125000e+01 Max:+5.1677898406982422e+01 RMS:+1.3404039223126290e+01 +northward_wind | Min:-3.4519397735595703e+01 Max:+4.2484031677246094e+01 RMS:+6.6609980771881654e+00 +air_temperature | Min:+1.9744311523437500e+02 Max:+3.1274356079101562e+02 RMS:+2.5817134043512766e+02 +air_pressure_thickness | Min:+1.4037625122070312e+02 Max:+3.3277812500000000e+03 RMS:+1.7746658923295752e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.4505231850707787e-07 Max:+2.1956646814942360e-02 RMS:+5.4044346433490221e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.5765863140113652e-04 RMS:+2.1467830786456633e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3395585119724274e-03 RMS:+2.5825991938724347e-05 +ozone_mass_mixing_ratio | Min:+7.5454651207729206e-12 Max:+1.5819619875401258e-05 RMS:+4.4460059272372195e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0007030963897705e+00 Max:+1.1027519702911377e+00 RMS:+1.0206560990702465e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 14: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7420936584472656e+01 Max:+5.0758155822753906e+01 RMS:+1.3204250461270959e+01 +northward_wind | Min:-2.8945447921752930e+01 Max:+3.1073390960693359e+01 RMS:+6.2801355306844835e+00 +air_temperature | Min:+1.9733168029785156e+02 Max:+3.1695617675781250e+02 RMS:+2.5818316147176864e+02 +air_pressure_thickness | Min:+1.4020429992675781e+02 Max:+3.3269492187500000e+03 RMS:+1.7737905654581712e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.4233992108929669e-07 Max:+2.3046731948852539e-02 RMS:+5.4013006089373809e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.1861832647118717e-04 RMS:+2.2036271704476599e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4415213372558355e-03 RMS:+1.9966052282656515e-05 +ozone_mass_mixing_ratio | Min:+7.5462353379962543e-12 Max:+1.5786337826284580e-05 RMS:+4.4519861121692562e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0009058713912964e+00 Max:+1.1014741659164429e+00 RMS:+1.0206737240784856e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 15: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7825143814086914e+01 Max:+4.9406520843505859e+01 RMS:+1.3118676905373471e+01 +northward_wind | Min:-2.8515384674072266e+01 Max:+3.6520645141601562e+01 RMS:+6.2768326066375959e+00 +air_temperature | Min:+1.9744734191894531e+02 Max:+3.1465881347656250e+02 RMS:+2.5836200283915286e+02 +air_pressure_thickness | Min:+1.4029045104980469e+02 Max:+3.3281796875000000e+03 RMS:+1.7745621917555604e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+6.9403108682308812e-07 Max:+2.1803693845868111e-02 RMS:+5.5033607745355369e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.9914136868901551e-04 RMS:+2.8805711069062274e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.3089535059407353e-03 RMS:+2.1233843491579309e-05 +ozone_mass_mixing_ratio | Min:+7.5474661243024599e-12 Max:+1.5800267647136934e-05 RMS:+4.4472726968015649e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010336637496948e+00 Max:+1.0994629859924316e+00 RMS:+1.0206093053297700e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 16: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7000873565673828e+01 Max:+4.8411666870117188e+01 RMS:+1.2812108646217458e+01 +northward_wind | Min:-2.7646337509155273e+01 Max:+3.1859035491943359e+01 RMS:+6.1592265312787653e+00 +air_temperature | Min:+1.9738623046875000e+02 Max:+3.1518194580078125e+02 RMS:+2.5841559459506198e+02 +air_pressure_thickness | Min:+1.4011819458007812e+02 Max:+3.3257539062500000e+03 RMS:+1.7731063846427739e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+8.3832031805286533e-07 Max:+2.2416204214096069e-02 RMS:+5.5891795675629746e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.2910224399529397e-04 RMS:+2.4018488726642122e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.2736007338389754e-03 RMS:+2.1020690302630038e-05 +ozone_mass_mixing_ratio | Min:+7.5465111590289347e-12 Max:+1.5802419511601329e-05 RMS:+4.4470557897839262e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0005049705505371e+00 Max:+1.0964636802673340e+00 RMS:+1.0204223390835310e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 17: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7157186508178711e+01 Max:+4.8312816619873047e+01 RMS:+1.2693449542711418e+01 +northward_wind | Min:-3.0899242401123047e+01 Max:+2.6454854965209961e+01 RMS:+6.1894928930491639e+00 +air_temperature | Min:+1.9791487121582031e+02 Max:+3.1676629638671875e+02 RMS:+2.5815196624742401e+02 +air_pressure_thickness | Min:+1.4025885009765625e+02 Max:+3.3275468750000000e+03 RMS:+1.7755085099640512e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.9884404158292455e-07 Max:+2.2182950749993324e-02 RMS:+5.4555481329772639e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.1315432968549430e-04 RMS:+1.5372115445437359e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4075781218707561e-03 RMS:+2.4672896516993998e-05 +ozone_mass_mixing_ratio | Min:+7.5496518758821907e-12 Max:+1.5824554793653078e-05 RMS:+4.4498048731188137e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0007419586181641e+00 Max:+1.1030770540237427e+00 RMS:+1.0207619863687358e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 18: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.5910966873168945e+01 Max:+5.0213520050048828e+01 RMS:+1.2684898114999005e+01 +northward_wind | Min:-2.8452053070068359e+01 Max:+3.1736547470092773e+01 RMS:+6.2438461983275237e+00 +air_temperature | Min:+1.9727775573730469e+02 Max:+3.1751290893554688e+02 RMS:+2.5852499824577694e+02 +air_pressure_thickness | Min:+1.4021235656738281e+02 Max:+3.3264218750000000e+03 RMS:+1.7728637728282188e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.6574089057903620e-07 Max:+2.3140851408243179e-02 RMS:+5.6512111380784902e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.4635813315398991e-04 RMS:+2.6224991110222331e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.0211007902398705e-03 RMS:+1.7964477742941608e-05 +ozone_mass_mixing_ratio | Min:+7.5464981486028648e-12 Max:+1.5812547644600272e-05 RMS:+4.4483512966805943e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0004552602767944e+00 Max:+1.1027778387069702e+00 RMS:+1.0204410035825995e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 19: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.7315406799316406e+01 Max:+5.1392955780029297e+01 RMS:+1.3073973334094115e+01 +northward_wind | Min:-2.9755792617797852e+01 Max:+3.5338039398193359e+01 RMS:+6.2739654397669051e+00 +air_temperature | Min:+1.9728047180175781e+02 Max:+3.1603353881835938e+02 RMS:+2.5837421789937997e+02 +air_pressure_thickness | Min:+1.4025909423828125e+02 Max:+3.3252265625000000e+03 RMS:+1.7740716913146923e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+5.8590734397512279e-07 Max:+2.2484907880425453e-02 RMS:+5.4637215374247969e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.0686732023023069e-04 RMS:+1.7253656138130327e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.4640277950093150e-03 RMS:+2.4038848645879325e-05 +ozone_mass_mixing_ratio | Min:+7.5470983629255528e-12 Max:+1.5833817087695934e-05 RMS:+4.4496516797364575e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0009936094284058e+00 Max:+1.1013786792755127e+00 RMS:+1.0203956229961613e+00 +---------------------------------------------------------------------------------------------------- +Initial state for member 20: +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6014789581298828e+01 Max:+5.0938194274902344e+01 RMS:+1.3135252640240266e+01 +northward_wind | Min:-2.7819715499877930e+01 Max:+4.2136608123779297e+01 RMS:+6.0615455303343353e+00 +air_temperature | Min:+1.9755606079101562e+02 Max:+3.1374545288085938e+02 RMS:+2.5830948065709242e+02 +air_pressure_thickness | Min:+1.4033699035644531e+02 Max:+3.3289218750000000e+03 RMS:+1.7746239248505551e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+9.0404836328161764e-07 Max:+2.2084660828113556e-02 RMS:+5.5607987530616760e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.7910768403671682e-04 RMS:+2.2170887484884510e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+2.0808267872780561e-03 RMS:+1.8239441333288087e-05 +ozone_mass_mixing_ratio | Min:+7.5437633570429874e-12 Max:+1.5874929886194877e-05 RMS:+4.4461628993920764e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500000e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0010197162628174e+00 Max:+1.1039352416992188e+00 RMS:+1.0205018287223973e+00 +---------------------------------------------------------------------------------------------------- +H(x) for member 1: +aircar nobs= 2868 Min=212.627685546875, Max=307.5399780273438, RMS=241.7513412007983 + +aircar nobs= 143188 Min=-24.48020362854004, Max=47.06225967407227, RMS=14.80777036928036 + +aircar nobs= 216 Min=6.144638064142782e-06, Max=0.0182272382080555, RMS=0.006364402731903343 + +aircft nobs= 4 Min=223.3456726074219, Max=280.6025695800781, RMS=250.711753469827 + +aircft nobs= 18 Min=213.376953125, Max=287.5079956054688, RMS=230.0431311514753 + +aircft nobs= 6 Min=215.0947570800781, Max=301.8449096679688, RMS=236.0799352271649 + +aircft: No observations. + +aircft nobs= 6 Min=1.041269206325524e-05, Max=0.01728191040456295, RMS=0.008077503685922329 + +aircft nobs= 664 Min=-20.73476219177246, Max=38.74861907958984, RMS=15.27986724020826 + +aircft nobs= 664 Min=-20.73476219177246, Max=38.74861907958984, RMS=15.27986724020826 + +aircft nobs= 664 Min=-20.73476219177246, Max=38.74861907958984, RMS=15.27986724020826 + +aircft nobs= 664 Min=-20.73476219177246, Max=38.74861907958984, RMS=15.27986724020826 + +msonet nobs= 14780 Min=271.1976623535156, Max=312.5247497558594, RMS=295.1893768603825 + +msonet nobs= 15542 Min=0.000116908282507211, Max=0.02210121043026447, RMS=0.01125786787704285 + +msonet nobs= 495191 Min=29399.32421875, Max=102203.203125, RMS=95859.88762135214 + +msonet nobs= 990382 Min=-15.98531818389893, Max=26.04107666015625, RMS=3.234063143580322 + + +H(x) for member 2: +aircar nobs= 2868 Min=212.0827484130859, Max=308.9252319335938, RMS=242.0128975441232 + +aircar nobs= 143188 Min=-22.16324043273926, Max=47.13019180297852, RMS=14.65466305244079 + +aircar nobs= 216 Min=3.541731985023944e-06, Max=0.01748271659016609, RMS=0.006154158200700412 + +aircft nobs= 4 Min=223.9050445556641, Max=279.1382751464844, RMS=250.662735843327 + +aircft nobs= 18 Min=212.6013488769531, Max=288.0162353515625, RMS=229.9050216113309 + +aircft nobs= 6 Min=213.9641723632812, Max=303.1086120605469, RMS=235.8586699569678 + +aircft: No observations. + +aircft nobs= 6 Min=6.761415534128901e-06, Max=0.01840022765100002, RMS=0.008816628774535571 + +aircft nobs= 664 Min=-21.11320877075195, Max=38.54852294921875, RMS=15.14182149857697 + +aircft nobs= 664 Min=-21.11320877075195, Max=38.54852294921875, RMS=15.14182149857697 + +aircft nobs= 664 Min=-21.11320877075195, Max=38.54852294921875, RMS=15.14182149857697 + +aircft nobs= 664 Min=-21.11320877075195, Max=38.54852294921875, RMS=15.14182149857697 + +msonet nobs= 14780 Min=273.2873840332031, Max=313.2495727539062, RMS=295.4953538313864 + +msonet nobs= 15542 Min=0.0001047597615979612, Max=0.02172698453068733, RMS=0.01157743941949312 + +msonet nobs= 495191 Min=29463.63671875, Max=102227.34375, RMS=95810.09587946827 + +msonet nobs= 990382 Min=-16.77924728393555, Max=24.83577537536621, RMS=3.125821716408738 + + +H(x) for member 3: +aircar nobs= 2868 Min=212.0047149658203, Max=310.7496643066406, RMS=241.7033971558846 + +aircar nobs= 143188 Min=-24.02853965759277, Max=47.15628814697266, RMS=14.62430459611518 + +aircar nobs= 216 Min=4.984285624232143e-06, Max=0.01700307428836823, RMS=0.006395589407135061 + +aircft nobs= 4 Min=223.2267303466797, Max=276.7877502441406, RMS=249.478352656347 + +aircft nobs= 18 Min=212.6330413818359, Max=287.2956237792969, RMS=229.8106021182299 + +aircft nobs= 6 Min=214.6717224121094, Max=302.9793395996094, RMS=235.9731862167499 + +aircft: No observations. + +aircft nobs= 6 Min=8.890699973562732e-06, Max=0.01759183593094349, RMS=0.008278714856481652 + +aircft nobs= 664 Min=-20.76848220825195, Max=38.69823837280273, RMS=15.14194583613289 + +aircft nobs= 664 Min=-20.76848220825195, Max=38.69823837280273, RMS=15.14194583613289 + +aircft nobs= 664 Min=-20.76848220825195, Max=38.69823837280273, RMS=15.14194583613289 + +aircft nobs= 664 Min=-20.76848220825195, Max=38.69823837280273, RMS=15.14194583613289 + +msonet nobs= 14780 Min=271.6526184082031, Max=314.1578979492188, RMS=295.5451307411064 + +msonet nobs= 15542 Min=0.0001300001022173092, Max=0.02223005704581738, RMS=0.01152746226205988 + +msonet nobs= 495191 Min=29445.021484375, Max=102215.1875, RMS=95857.95968829285 + +msonet nobs= 990382 Min=-13.911865234375, Max=27.1497974395752, RMS=3.073438788019661 + + +H(x) for member 4: +aircar nobs= 2868 Min=212.6938934326172, Max=308.4996643066406, RMS=241.9337810053239 + +aircar nobs= 143188 Min=-23.0837516784668, Max=47.71083068847656, RMS=14.49469690593791 + +aircar nobs= 216 Min=4.70630993731902e-06, Max=0.01744367182254791, RMS=0.006263041932107056 + +aircft nobs= 4 Min=223.5721588134766, Max=276.5958862304688, RMS=249.4115297772772 + +aircft nobs= 18 Min=213.4159240722656, Max=286.3405151367188, RMS=230.2305175352491 + +aircft nobs= 6 Min=215.2152252197266, Max=303.9141235351562, RMS=236.1906550139012 + +aircft: No observations. + +aircft nobs= 6 Min=1.183343920274638e-05, Max=0.01840090192854404, RMS=0.008447932867420094 + +aircft nobs= 664 Min=-21.71101188659668, Max=38.78157806396484, RMS=15.05556859901005 + +aircft nobs= 664 Min=-21.71101188659668, Max=38.78157806396484, RMS=15.05556859901005 + +aircft nobs= 664 Min=-21.71101188659668, Max=38.78157806396484, RMS=15.05556859901005 + +aircft nobs= 664 Min=-21.71101188659668, Max=38.78157806396484, RMS=15.05556859901005 + +msonet nobs= 14780 Min=271.9122619628906, Max=313.3357543945312, RMS=294.9779256949972 + +msonet nobs= 15542 Min=9.156122541753575e-05, Max=0.02094515599310398, RMS=0.01125211923336246 + +msonet nobs= 495191 Min=29427.669921875, Max=102094, RMS=95797.11860236269 + +msonet nobs= 990382 Min=-14.07737350463867, Max=26.22679138183594, RMS=2.969810645237344 + + +H(x) for member 5: +aircar nobs= 2868 Min=212.1238250732422, Max=307.5423889160156, RMS=242.0888575891749 + +aircar nobs= 143188 Min=-24.9853630065918, Max=47.15455627441406, RMS=14.55842294670782 + +aircar nobs= 216 Min=4.169955445831874e-06, Max=0.01917946711182594, RMS=0.006861579019752164 + +aircft nobs= 4 Min=223.7642822265625, Max=278.2610473632812, RMS=250.355573327025 + +aircft nobs= 18 Min=212.9695892333984, Max=287.3880615234375, RMS=230.3999231414076 + +aircft nobs= 6 Min=213.8102416992188, Max=302.0606994628906, RMS=235.7255789769961 + +aircft: No observations. + +aircft nobs= 6 Min=1.059512760548387e-05, Max=0.01919345557689667, RMS=0.008587142026375462 + +aircft nobs= 664 Min=-21.54891395568848, Max=38.79578399658203, RMS=15.28624396117359 + +aircft nobs= 664 Min=-21.54891395568848, Max=38.79578399658203, RMS=15.28624396117359 + +aircft nobs= 664 Min=-21.54891395568848, Max=38.79578399658203, RMS=15.28624396117359 + +aircft nobs= 664 Min=-21.54891395568848, Max=38.79578399658203, RMS=15.28624396117359 + +msonet nobs= 14780 Min=271.4712829589844, Max=312.0447387695312, RMS=295.3668944240788 + +msonet nobs= 15542 Min=0.0001056796027114615, Max=0.02212422713637352, RMS=0.01164809072049531 + +msonet nobs= 495191 Min=29427.75, Max=102173.296875, RMS=95866.06045507293 + +msonet nobs= 990382 Min=-15.66544628143311, Max=26.25838470458984, RMS=2.982906437339868 + + +H(x) for member 6: +aircar nobs= 2868 Min=212.2218017578125, Max=309.4758605957031, RMS=242.1253300970628 + +aircar nobs= 143188 Min=-24.83086585998535, Max=46.80725479125977, RMS=14.54035100572351 + +aircar nobs= 216 Min=4.77280400446034e-06, Max=0.01927694119513035, RMS=0.00661623588422891 + +aircft nobs= 4 Min=223.2998809814453, Max=279.4176025390625, RMS=250.4376149287658 + +aircft nobs= 18 Min=212.3407592773438, Max=288.2979125976562, RMS=229.921304776134 + +aircft nobs= 6 Min=215.1387176513672, Max=302.2080383300781, RMS=236.696150128982 + +aircft: No observations. + +aircft nobs= 6 Min=8.891513061826117e-06, Max=0.01793425902724266, RMS=0.008435266773584749 + +aircft nobs= 664 Min=-22.78000450134277, Max=38.87659454345703, RMS=15.09727947223964 + +aircft nobs= 664 Min=-22.78000450134277, Max=38.87659454345703, RMS=15.09727947223964 + +aircft nobs= 664 Min=-22.78000450134277, Max=38.87659454345703, RMS=15.09727947223964 + +aircft nobs= 664 Min=-22.78000450134277, Max=38.87659454345703, RMS=15.09727947223964 + +msonet nobs= 14780 Min=271.6677856445312, Max=312.0372009277344, RMS=295.260341416739 + +msonet nobs= 15542 Min=9.156055602943525e-05, Max=0.02255283854901791, RMS=0.01190973788961844 + +msonet nobs= 495191 Min=29391, Max=102250.96875, RMS=95840.80105487011 + +msonet nobs= 990382 Min=-14.80498027801514, Max=25.89668846130371, RMS=2.982614989189904 + + +H(x) for member 7: +aircar nobs= 2868 Min=212.57861328125, Max=308.9805297851562, RMS=242.1862980224433 + +aircar nobs= 143188 Min=-24.60513877868652, Max=47.17324447631836, RMS=14.31994557784693 + +aircar nobs= 216 Min=4.227779754728545e-06, Max=0.01862413994967937, RMS=0.006654938530078609 + +aircft nobs= 4 Min=223.4897766113281, Max=275.8631286621094, RMS=249.48323709048 + +aircft nobs= 18 Min=213.2292022705078, Max=287.3141174316406, RMS=230.487128638069 + +aircft nobs= 6 Min=214.5911102294922, Max=302.6698608398438, RMS=235.9360270616503 + +aircft: No observations. + +aircft nobs= 6 Min=1.049922229867661e-05, Max=0.01878648065030575, RMS=0.008874190832877372 + +aircft nobs= 664 Min=-18.83230781555176, Max=38.6436653137207, RMS=14.90253606314331 + +aircft nobs= 664 Min=-18.83230781555176, Max=38.6436653137207, RMS=14.90253606314331 + +aircft nobs= 664 Min=-18.83230781555176, Max=38.6436653137207, RMS=14.90253606314331 + +aircft nobs= 664 Min=-18.83230781555176, Max=38.6436653137207, RMS=14.90253606314331 + +msonet nobs= 14780 Min=272.8282775878906, Max=312.5007934570312, RMS=295.6214477712379 + +msonet nobs= 15542 Min=8.440503006568179e-05, Max=0.02209129184484482, RMS=0.01182816482461825 + +msonet nobs= 495191 Min=29443.1796875, Max=102224.921875, RMS=95841.33105945973 + +msonet nobs= 990382 Min=-13.74019432067871, Max=26.03042411804199, RMS=2.772894025935496 + + +H(x) for member 8: +aircar nobs= 2868 Min=212.1072998046875, Max=308.5502624511719, RMS=241.9191086623879 + +aircar nobs= 143188 Min=-23.49484443664551, Max=46.44363403320312, RMS=14.35833847413603 + +aircar nobs= 216 Min=4.734095455205534e-06, Max=0.01996570080518723, RMS=0.00647464673670774 + +aircft nobs= 4 Min=224.0158233642578, Max=276.9001770019531, RMS=249.796578371926 + +aircft nobs= 18 Min=213.4612884521484, Max=287.00927734375, RMS=229.9592341102632 + +aircft nobs= 6 Min=214.3404846191406, Max=302.6328430175781, RMS=235.6304615642695 + +aircft: No observations. + +aircft nobs= 6 Min=9.798405699257273e-06, Max=0.01934107951819897, RMS=0.00909238118514061 + +aircft nobs= 664 Min=-22.54233360290527, Max=39.28536987304688, RMS=14.88687690006977 + +aircft nobs= 664 Min=-22.54233360290527, Max=39.28536987304688, RMS=14.88687690006977 + +aircft nobs= 664 Min=-22.54233360290527, Max=39.28536987304688, RMS=14.88687690006977 + +aircft nobs= 664 Min=-22.54233360290527, Max=39.28536987304688, RMS=14.88687690006977 + +msonet nobs= 14780 Min=271.8613586425781, Max=314.055908203125, RMS=295.2329123961865 + +msonet nobs= 15542 Min=8.425581472693011e-05, Max=0.02252884395420551, RMS=0.01184839988632185 + +msonet nobs= 495191 Min=29498.94921875, Max=102248.6484375, RMS=95835.27447291839 + +msonet nobs= 990382 Min=-15.12674617767334, Max=26.54795265197754, RMS=2.888167580588549 + + +H(x) for member 9: +aircar nobs= 2868 Min=211.8065338134766, Max=307.4692687988281, RMS=241.9146373455786 + +aircar nobs= 143188 Min=-24.80315780639648, Max=47.85388565063477, RMS=14.57378470663477 + +aircar nobs= 216 Min=4.194757366349222e-06, Max=0.02018035762012005, RMS=0.006759224365438811 + +aircft nobs= 4 Min=223.82861328125, Max=276.9223022460938, RMS=249.8445082302967 + +aircft nobs= 18 Min=212.5019989013672, Max=289.1121520996094, RMS=230.1471173091243 + +aircft nobs= 6 Min=214.5728302001953, Max=301.7591247558594, RMS=235.6476399179703 + +aircft: No observations. + +aircft nobs= 6 Min=1.126712868426694e-05, Max=0.01874297671020031, RMS=0.008563453450243065 + +aircft nobs= 664 Min=-21.91667175292969, Max=38.91762924194336, RMS=15.21268814234579 + +aircft nobs= 664 Min=-21.91667175292969, Max=38.91762924194336, RMS=15.21268814234579 + +aircft nobs= 664 Min=-21.91667175292969, Max=38.91762924194336, RMS=15.21268814234579 + +aircft nobs= 664 Min=-21.91667175292969, Max=38.91762924194336, RMS=15.21268814234579 + +msonet nobs= 14780 Min=271.6364440917969, Max=311.8029479980469, RMS=295.4505686485894 + +msonet nobs= 15542 Min=0.0001079171561286785, Max=0.02301954850554466, RMS=0.01164835748400649 + +msonet nobs= 495191 Min=29475.376953125, Max=102261.1015625, RMS=95888.55375768681 + +msonet nobs= 990382 Min=-14.11948680877686, Max=23.78092575073242, RMS=2.926744203268942 + + +H(x) for member 10: +aircar nobs= 2868 Min=212.2687377929688, Max=310.3800048828125, RMS=241.8823075166327 + +aircar nobs= 143188 Min=-23.31369972229004, Max=47.83821868896484, RMS=14.62403568071752 + +aircar nobs= 216 Min=3.564292455848772e-06, Max=0.01751153171062469, RMS=0.006315089780257749 + +aircft nobs= 4 Min=223.6995849609375, Max=277.0547790527344, RMS=249.9538494418462 + +aircft nobs= 18 Min=213.4754638671875, Max=287.3743591308594, RMS=229.8610825189096 + +aircft nobs= 6 Min=214.2626495361328, Max=303.7528991699219, RMS=235.5778209796664 + +aircft: No observations. + +aircft nobs= 6 Min=1.221276124852011e-05, Max=0.01868153363466263, RMS=0.008658345999280774 + +aircft nobs= 664 Min=-21.79570770263672, Max=38.44992065429688, RMS=15.14991142372238 + +aircft nobs= 664 Min=-21.79570770263672, Max=38.44992065429688, RMS=15.14991142372238 + +aircft nobs= 664 Min=-21.79570770263672, Max=38.44992065429688, RMS=15.14991142372238 + +aircft nobs= 664 Min=-21.79570770263672, Max=38.44992065429688, RMS=15.14991142372238 + +msonet nobs= 14780 Min=272.0003967285156, Max=314.7991943359375, RMS=294.9638665023382 + +msonet nobs= 15542 Min=8.246984361903742e-05, Max=0.02223292551934719, RMS=0.01160557299049109 + +msonet nobs= 495191 Min=29419.79296875, Max=102202.3671875, RMS=95776.24009119516 + +msonet nobs= 990382 Min=-14.40788459777832, Max=24.15259170532227, RMS=2.895383620655057 + + +H(x) for member 11: +aircar nobs= 2868 Min=211.9530639648438, Max=307.729736328125, RMS=242.0124346225321 + +aircar nobs= 143188 Min=-22.86212730407715, Max=47.51629257202148, RMS=14.48479203499527 + +aircar nobs= 216 Min=4.977239314030157e-06, Max=0.01952964812517166, RMS=0.006649215187088825 + +aircft nobs= 4 Min=223.8627319335938, Max=277.2072143554688, RMS=250.0319712682394 + +aircft nobs= 18 Min=212.6894836425781, Max=287.7204895019531, RMS=229.9665159995962 + +aircft nobs= 6 Min=214.9565277099609, Max=302.7807312011719, RMS=235.9974225495585 + +aircft: No observations. + +aircft nobs= 6 Min=9.897583368001506e-06, Max=0.01907494850456715, RMS=0.008872808397390401 + +aircft nobs= 664 Min=-20.87246513366699, Max=38.95026779174805, RMS=15.06304373954767 + +aircft nobs= 664 Min=-20.87246513366699, Max=38.95026779174805, RMS=15.06304373954767 + +aircft nobs= 664 Min=-20.87246513366699, Max=38.95026779174805, RMS=15.06304373954767 + +aircft nobs= 664 Min=-20.87246513366699, Max=38.95026779174805, RMS=15.06304373954767 + +msonet nobs= 14780 Min=272.239501953125, Max=312.2283935546875, RMS=295.0485536347521 + +msonet nobs= 15542 Min=9.194724407279864e-05, Max=0.02118605934083462, RMS=0.01190122396996904 + +msonet nobs= 495191 Min=29400.970703125, Max=102222.609375, RMS=95782.43466489227 + +msonet nobs= 990382 Min=-13.01901626586914, Max=26.40424919128418, RMS=2.880440398759886 + + +H(x) for member 12: +aircar nobs= 2868 Min=212.3226470947266, Max=307.8131713867188, RMS=242.1766990046176 + +aircar nobs= 143188 Min=-23.58766555786133, Max=47.51720428466797, RMS=14.40627866662585 + +aircar nobs= 216 Min=4.272558271622984e-06, Max=0.01733752153813839, RMS=0.006387739257136762 + +aircft nobs= 4 Min=223.7201538085938, Max=274.9421997070312, RMS=249.4681561507827 + +aircft nobs= 18 Min=212.6364135742188, Max=286.8517761230469, RMS=229.7181354178259 + +aircft nobs= 6 Min=214.5685119628906, Max=302.8255310058594, RMS=235.1303476510934 + +aircft: No observations. + +aircft nobs= 6 Min=1.216677628690377e-05, Max=0.01889980398118496, RMS=0.008967736636599036 + +aircft nobs= 664 Min=-20.00035858154297, Max=38.78660583496094, RMS=14.92253509648414 + +aircft nobs= 664 Min=-20.00035858154297, Max=38.78660583496094, RMS=14.92253509648414 + +aircft nobs= 664 Min=-20.00035858154297, Max=38.78660583496094, RMS=14.92253509648414 + +aircft nobs= 664 Min=-20.00035858154297, Max=38.78660583496094, RMS=14.92253509648414 + +msonet nobs= 14780 Min=273.7421264648438, Max=312.7679748535156, RMS=295.2120119412427 + +msonet nobs= 15542 Min=9.033842070493847e-05, Max=0.02151773683726788, RMS=0.01183063223652711 + +msonet nobs= 495191 Min=29328.13671875, Max=102213.8203125, RMS=95806.30206080884 + +msonet nobs= 990382 Min=-14.00295734405518, Max=26.21218109130859, RMS=2.753775255756871 + + +H(x) for member 13: +aircar nobs= 2868 Min=212.3068084716797, Max=304.8033447265625, RMS=242.33797064002 + +aircar nobs= 143188 Min=-24.63091087341309, Max=48.179443359375, RMS=14.79239992176602 + +aircar nobs= 216 Min=5.066525318397908e-06, Max=0.01745661348104477, RMS=0.006378246152105236 + +aircft nobs= 4 Min=223.7069244384766, Max=276.9076232910156, RMS=249.9358131099228 + +aircft nobs= 18 Min=213.1331176757812, Max=287.7271728515625, RMS=230.7786269751935 + +aircft nobs= 6 Min=214.3485870361328, Max=304.638916015625, RMS=236.7786353920484 + +aircft: No observations. + +aircft nobs= 6 Min=9.427481927559711e-06, Max=0.01740784198045731, RMS=0.008217445334182817 + +aircft nobs= 664 Min=-23.03171539306641, Max=38.67803955078125, RMS=15.29311173241095 + +aircft nobs= 664 Min=-23.03171539306641, Max=38.67803955078125, RMS=15.29311173241095 + +aircft nobs= 664 Min=-23.03171539306641, Max=38.67803955078125, RMS=15.29311173241095 + +aircft nobs= 664 Min=-23.03171539306641, Max=38.67803955078125, RMS=15.29311173241095 + +msonet nobs= 14780 Min=271.3592224121094, Max=311.7237854003906, RMS=295.1194764131683 + +msonet nobs= 15542 Min=8.342389628523961e-05, Max=0.02058141119778156, RMS=0.01150674177478472 + +msonet nobs= 495191 Min=29482.35546875, Max=102169.7890625, RMS=95812.68449276364 + +msonet nobs= 990382 Min=-14.98612976074219, Max=25.99049377441406, RMS=3.082808968203323 + + +H(x) for member 14: +aircar nobs= 2868 Min=212.1407928466797, Max=308.9455871582031, RMS=241.9217986481361 + +aircar nobs= 143188 Min=-24.23503875732422, Max=47.42267227172852, RMS=14.66332963477063 + +aircar nobs= 216 Min=3.38174368152977e-06, Max=0.01774129457771778, RMS=0.006483767511948814 + +aircft nobs= 4 Min=223.5675811767578, Max=277.4613037109375, RMS=249.8323258644506 + +aircft nobs= 18 Min=213.1656188964844, Max=286.7413635253906, RMS=230.0317211950656 + +aircft nobs= 6 Min=214.3501129150391, Max=302.1217956542969, RMS=235.0003293304132 + +aircft: No observations. + +aircft nobs= 6 Min=1.246677948074648e-05, Max=0.01863622292876244, RMS=0.008468164958529244 + +aircft nobs= 664 Min=-21.90225982666016, Max=38.84637451171875, RMS=15.24662432112168 + +aircft nobs= 664 Min=-21.90225982666016, Max=38.84637451171875, RMS=15.24662432112168 + +aircft nobs= 664 Min=-21.90225982666016, Max=38.84637451171875, RMS=15.24662432112168 + +aircft nobs= 664 Min=-21.90225982666016, Max=38.84637451171875, RMS=15.24662432112168 + +msonet nobs= 14780 Min=271.561767578125, Max=313.0332336425781, RMS=294.880061985281 + +msonet nobs= 15542 Min=7.732796075288206e-05, Max=0.02208555303514004, RMS=0.01142920805824633 + +msonet nobs= 495191 Min=29440.94921875, Max=102195.1484375, RMS=95797.83018416294 + +msonet nobs= 990382 Min=-14.85061740875244, Max=24.49296760559082, RMS=3.002936128212774 + + +H(x) for member 15: +aircar nobs= 2868 Min=212.0849609375, Max=307.2908325195312, RMS=242.1093508704038 + +aircar nobs= 143188 Min=-23.62097358703613, Max=48.31968688964844, RMS=14.69211537119566 + +aircar nobs= 216 Min=3.492404403004912e-06, Max=0.01734616421163082, RMS=0.006584757610596154 + +aircft nobs= 4 Min=223.358154296875, Max=277.3724975585938, RMS=249.9045213271684 + +aircft nobs= 18 Min=213.2639923095703, Max=288.7561950683594, RMS=230.3130463437466 + +aircft nobs= 6 Min=214.2291107177734, Max=301.5855102539062, RMS=235.5930992648012 + +aircft: No observations. + +aircft nobs= 6 Min=1.189632712339517e-05, Max=0.01762057654559612, RMS=0.008294694487660667 + +aircft nobs= 664 Min=-19.42743492126465, Max=38.80974960327148, RMS=15.17827863590844 + +aircft nobs= 664 Min=-19.42743492126465, Max=38.80974960327148, RMS=15.17827863590844 + +aircft nobs= 664 Min=-19.42743492126465, Max=38.80974960327148, RMS=15.17827863590844 + +aircft nobs= 664 Min=-19.42743492126465, Max=38.80974960327148, RMS=15.17827863590844 + +msonet nobs= 14780 Min=272.6293640136719, Max=311.638671875, RMS=295.4743627063417 + +msonet nobs= 15542 Min=8.242919284384698e-05, Max=0.02125007472932339, RMS=0.01182251329603316 + +msonet nobs= 495191 Min=29555.751953125, Max=102294.1875, RMS=95818.24865698833 + +msonet nobs= 990382 Min=-14.66898155212402, Max=24.43279457092285, RMS=3.026935494132585 + + +H(x) for member 16: +aircar nobs= 2868 Min=212.2230224609375, Max=308.6801452636719, RMS=242.2741298693659 + +aircar nobs= 143188 Min=-23.45504570007324, Max=47.58015441894531, RMS=14.46948411811536 + +aircar nobs= 216 Min=4.172670287516667e-06, Max=0.01737863197922707, RMS=0.006559379585524243 + +aircft nobs= 4 Min=223.9140014648438, Max=277.320556640625, RMS=250.269807615255 + +aircft nobs= 18 Min=213.6692810058594, Max=288.5883483886719, RMS=230.3232376742467 + +aircft nobs= 6 Min=214.0865631103516, Max=303.8695373535156, RMS=235.7416559995547 + +aircft: No observations. + +aircft nobs= 6 Min=1.04145701698144e-05, Max=0.01779398880898952, RMS=0.008382268050883315 + +aircft nobs= 664 Min=-19.88782119750977, Max=39.08251571655273, RMS=14.83814994530469 + +aircft nobs= 664 Min=-19.88782119750977, Max=39.08251571655273, RMS=14.83814994530469 + +aircft nobs= 664 Min=-19.88782119750977, Max=39.08251571655273, RMS=14.83814994530469 + +aircft nobs= 664 Min=-19.88782119750977, Max=39.08251571655273, RMS=14.83814994530469 + +msonet nobs= 14780 Min=271.8686218261719, Max=312.6111755371094, RMS=295.4316563623452 + +msonet nobs= 15542 Min=9.328065789304674e-05, Max=0.02207860164344311, RMS=0.01185951143732512 + +msonet nobs= 495191 Min=29345.37890625, Max=102153.5703125, RMS=95737.35892684096 + +msonet nobs= 990382 Min=-15.40006542205811, Max=25.00065040588379, RMS=2.956941470559175 + + +H(x) for member 17: +aircar nobs= 2868 Min=211.779052734375, Max=308.5575256347656, RMS=241.9287610817628 + +aircar nobs= 143188 Min=-24.81183433532715, Max=47.84127044677734, RMS=14.52430002916221 + +aircar nobs= 216 Min=5.998627784720156e-06, Max=0.01741256192326546, RMS=0.006231370393703679 + +aircft nobs= 4 Min=223.7012786865234, Max=277.8240966796875, RMS=250.1945393215529 + +aircft nobs= 18 Min=213.4525909423828, Max=286.6331176757812, RMS=230.2028852154523 + +aircft nobs= 6 Min=213.5506896972656, Max=302.6268310546875, RMS=234.9232418117364 + +aircft: No observations. + +aircft nobs= 6 Min=1.185757173516322e-05, Max=0.01836407370865345, RMS=0.008640412203402937 + +aircft nobs= 664 Min=-20.57574653625488, Max=38.72592544555664, RMS=15.03605615240526 + +aircft nobs= 664 Min=-20.57574653625488, Max=38.72592544555664, RMS=15.03605615240526 + +aircft nobs= 664 Min=-20.57574653625488, Max=38.72592544555664, RMS=15.03605615240526 + +aircft nobs= 664 Min=-20.57574653625488, Max=38.72592544555664, RMS=15.03605615240526 + +msonet nobs= 14780 Min=271.1179504394531, Max=312.9130249023438, RMS=294.8867520951164 + +msonet nobs= 15542 Min=8.908416202757508e-05, Max=0.02185459621250629, RMS=0.01142060595114842 + +msonet nobs= 495191 Min=29473.232421875, Max=102263.046875, RMS=95872.94616640301 + +msonet nobs= 990382 Min=-14.81759452819824, Max=24.85490226745605, RMS=3.057446393145892 + + +H(x) for member 18: +aircar nobs= 2868 Min=212.0335083007812, Max=310.4242553710938, RMS=242.1986991360663 + +aircar nobs= 143188 Min=-24.22038650512695, Max=46.87981796264648, RMS=14.37784948079585 + +aircar nobs= 216 Min=5.21179526913329e-06, Max=0.02020278014242649, RMS=0.006740605390942784 + +aircft nobs= 4 Min=223.3997955322266, Max=276.4507141113281, RMS=249.9720505079097 + +aircft nobs= 18 Min=213.0952606201172, Max=287.0417785644531, RMS=230.240136378467 + +aircft nobs= 6 Min=214.1875457763672, Max=302.6508483886719, RMS=235.1923619831599 + +aircft: No observations. + +aircft nobs= 6 Min=1.362371858704137e-05, Max=0.01967331394553185, RMS=0.008781249717004504 + +aircft nobs= 664 Min=-21.01762199401855, Max=39.52936172485352, RMS=14.79176393998367 + +aircft nobs= 664 Min=-21.01762199401855, Max=39.52936172485352, RMS=14.79176393998367 + +aircft nobs= 664 Min=-21.01762199401855, Max=39.52936172485352, RMS=14.79176393998367 + +aircft nobs= 664 Min=-21.01762199401855, Max=39.52936172485352, RMS=14.79176393998367 + +msonet nobs= 14780 Min=273.6590270996094, Max=313.2171020507812, RMS=295.4766621386003 + +msonet nobs= 15542 Min=0.0001043306110659614, Max=0.02291901782155037, RMS=0.01205014728268001 + +msonet nobs= 495191 Min=29352.37109375, Max=102153.6640625, RMS=95745.57778992219 + +msonet nobs= 990382 Min=-14.55686092376709, Max=25.02189064025879, RMS=2.865147788583303 + + +H(x) for member 19: +aircar nobs= 2868 Min=212.3494262695312, Max=309.0188598632812, RMS=242.0588458161291 + +aircar nobs= 143188 Min=-24.76016044616699, Max=47.04095840454102, RMS=14.57623102294082 + +aircar nobs= 216 Min=4.817089575226419e-06, Max=0.01765704527497292, RMS=0.006590419555424588 + +aircft nobs= 4 Min=222.9665832519531, Max=277.8782958984375, RMS=249.7975169162734 + +aircft nobs= 18 Min=213.0341796875, Max=287.2198181152344, RMS=230.1702716135343 + +aircft nobs= 6 Min=214.6221923828125, Max=302.4920959472656, RMS=235.4671973807442 + +aircft: No observations. + +aircft nobs= 6 Min=1.160307601821842e-05, Max=0.01872909069061279, RMS=0.008742080665150823 + +aircft nobs= 664 Min=-18.42547607421875, Max=38.63615417480469, RMS=14.93294328297711 + +aircft nobs= 664 Min=-18.42547607421875, Max=38.63615417480469, RMS=14.93294328297711 + +aircft nobs= 664 Min=-18.42547607421875, Max=38.63615417480469, RMS=14.93294328297711 + +aircft nobs= 664 Min=-18.42547607421875, Max=38.63615417480469, RMS=14.93294328297711 + +msonet nobs= 14780 Min=272.9575805664062, Max=312.8693542480469, RMS=295.7889556863175 + +msonet nobs= 15542 Min=0.0001050200880854391, Max=0.02215184457600117, RMS=0.01170127612395752 + +msonet nobs= 495191 Min=29383.32421875, Max=102145.1953125, RMS=95810.28047326126 + +msonet nobs= 990382 Min=-16.00268745422363, Max=25.83225631713867, RMS=2.948100696507562 + + +H(x) for member 20: +aircar nobs= 2868 Min=212.1596374511719, Max=306.470703125, RMS=242.1603537940584 + +aircar nobs= 143188 Min=-24.19308090209961, Max=47.16232299804688, RMS=14.41983687916395 + +aircar nobs= 216 Min=3.876346909237327e-06, Max=0.02038312330842018, RMS=0.006882224705401572 + +aircft nobs= 4 Min=223.7012329101562, Max=276.8855285644531, RMS=250.1793956042284 + +aircft nobs= 18 Min=212.7568664550781, Max=286.3599243164062, RMS=230.1110458896261 + +aircft nobs= 6 Min=214.5223693847656, Max=300.4017028808594, RMS=235.2667867228774 + +aircft: No observations. + +aircft nobs= 6 Min=7.442037713190075e-06, Max=0.01925193518400192, RMS=0.009020053752315273 + +aircft nobs= 664 Min=-22.02899360656738, Max=38.89835357666016, RMS=14.94786859351056 + +aircft nobs= 664 Min=-22.02899360656738, Max=38.89835357666016, RMS=14.94786859351056 + +aircft nobs= 664 Min=-22.02899360656738, Max=38.89835357666016, RMS=14.94786859351056 + +aircft nobs= 664 Min=-22.02899360656738, Max=38.89835357666016, RMS=14.94786859351056 + +msonet nobs= 14780 Min=272.9427185058594, Max=312.7565002441406, RMS=295.2845239129151 + +msonet nobs= 15542 Min=8.956742385635152e-05, Max=0.02196081914007664, RMS=0.01180753063698789 + +msonet nobs= 495191 Min=29375.96875, Max=102271.21875, RMS=95828.60386504022 + +msonet nobs= 990382 Min=-14.01094341278076, Max=26.94978523254395, RMS=2.984759921304085 + + +H(x) ensemble background mean: +aircar nobs= 2868 Min=212.3923164367676, Max=308.3172149658203, RMS=242.0339302599977 + +aircar nobs= 143188 Min=-23.95951519012451, Max=46.75681419372559, RMS=14.51639826592966 + +aircar nobs= 216 Min=4.689357444931375e-06, Max=0.01724522365257144, RMS=0.006485033262864735 + +aircft nobs= 4 Min=223.6718269348145, Max=277.3896774291993, RMS=249.985335765292 + +aircft nobs= 18 Min=213.0451187133789, Max=287.464811706543, RMS=230.1298275690363 + +aircft nobs= 6 Min=214.4542060852051, Max=302.6461975097656, RMS=235.7190294245337 + +aircft: No observations. + +aircft nobs= 6 Min=1.114957012759987e-05, Max=0.01849032286554575, RMS=0.008605489155821933 + +aircft nobs= 664 Min=-20.80586090087891, Max=38.77217254638672, RMS=15.0374694574932 + +aircft nobs= 664 Min=-20.80586090087891, Max=38.77217254638672, RMS=15.0374694574932 + +aircft nobs= 664 Min=-20.80586090087891, Max=38.77217254638672, RMS=15.0374694574932 + +aircft nobs= 664 Min=-20.80586090087891, Max=38.77217254638672, RMS=15.0374694574932 + +msonet nobs= 14780 Min=272.2255722045899, Max=312.0198959350586, RMS=295.2836924787744 + +msonet nobs= 15542 Min=0.0001025390964059625, Max=0.02144339131191373, RMS=0.0116418083884861 + +msonet nobs= 495191 Min=29426.50703125, Max=102184.373828125, RMS=95819.23302797809 + +msonet nobs= 990382 Min=-13.91447463035584, Max=25.60388288497925, RMS=2.831167193115681 + + +background y - H(x): +aircar nobs= 2868 Min=-6.684826660156261, Max=5.673260498046858, RMS=1.463679226539638 + +aircar nobs= 71594 Min=-40.48260682821274, Max=33.29526381492614, RMS=4.202074026778191 + +aircar nobs= 216 Min=-0.01268642833456397, Max=0.005887257400900126, RMS=0.001450680189216459 + +aircft nobs= 4 Min=0.4781669616698991, Max=2.760316467285122, RMS=1.856857943478614 + +aircft nobs= 18 Min=-1.343773651123058, Max=3.731173706054676, RMS=1.537980672752387 + +aircft nobs= 6 Min=-0.2614318847656421, Max=2.381429290771479, RMS=1.034384678077293 + +aircft: No observations. + +aircft nobs= 6 Min=-0.01011887804265825, Max=0.002705677412450314, RMS=0.004276180812759609 + +aircft nobs= 250 Min=-113.0754575014114, Max=21.63824696242809, RMS=23.68154120159574 + +aircft nobs= 250 Min=-113.0754575014114, Max=21.63824696242809, RMS=23.68154120159574 + +aircft nobs= 250 Min=-113.0754575014114, Max=21.63824696242809, RMS=23.68154120159574 + +aircft nobs= 250 Min=-113.0754575014114, Max=21.63824696242809, RMS=23.68154120159574 + +msonet nobs= 14780 Min=-4.999949645996082, Max=4.999743652343739, RMS=2.519175820642427 + +msonet nobs= 15542 Min=-0.01866219195071608, Max=0.05251839712727815, RMS=0.002634171557307892 + +msonet nobs= 495191 Min=-52537.60546875, Max=26214.64609374999, RMS=1074.658397618487 + +msonet nobs= 465786 Min=-100.6478128910065, Max=140.1883200526237, RMS=2.504200782459251 + + +Background mean : +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6119594764709468e+01 Max:+4.8196312522888192e+01 RMS:+1.2995877290757925e+01 +northward_wind | Min:-2.6728010368347167e+01 Max:+2.5603737831115719e+01 RMS:+5.9453580980565386e+00 +air_temperature | Min:+1.9777664566040045e+02 Max:+3.1535213928222657e+02 RMS:+2.5827947560483994e+02 +air_pressure_thickness | Min:+1.4030666198730472e+02 Max:+3.3258109375000004e+03 RMS:+1.7743761799674276e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+1.1460349838898766e-06 Max:+2.1872464660555126e-02 RMS:+5.4756212062872329e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+6.2291439633389850e-05 RMS:+9.2972293529554678e-07 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+7.2983569407369952e-04 RMS:+1.2924818596561051e-05 +ozone_mass_mixing_ratio | Min:+7.5464360888705111e-12 Max:+1.5788253222126514e-05 RMS:+4.4490593192189485e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500007e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0008238852024081e+00 Max:+1.1028974890708922e+00 RMS:+1.0206326656914078e+00 +---------------------------------------------------------------------------------------------------- +Analysis mean : +---------------------------------------------------------------------------------------------------- +State print | number of fields = 10 | cube sphere face size: C420 +eastward_wind | Min:-2.6119573915450296e+01 Max:+4.8196312522888192e+01 RMS:+1.2946090837860407e+01 +northward_wind | Min:-2.6235677635625720e+01 Max:+2.7751233959948518e+01 RMS:+5.8106912806984479e+00 +air_temperature | Min:+1.9777658272440112e+02 Max:+3.1465443965991409e+02 RMS:+2.5837042296126788e+02 +air_pressure_thickness | Min:+1.4041965813710112e+02 Max:+3.3258109375000004e+03 RMS:+1.7743609215915840e+03 +water_vapor_mixing_ratio_wrt_moist_air | Min:+7.0058888825950119e-07 Max:+2.2385068798092510e-02 RMS:+5.4862895830394701e-03 +cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.1479407502052151e-04 RMS:+1.4278305013274036e-06 +cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+7.2983517989760535e-04 RMS:+1.2832466376862686e-05 +ozone_mass_mixing_ratio | Min:+7.5469028480371857e-12 Max:+1.5788252600491721e-05 RMS:+4.4490840711804636e-06 +geopotential_height_times_gravity_at_surface | Min:+0.0000000000000000e+00 Max:+3.5301851562500007e+04 RMS:+7.8466628379223766e+03 +f10m | Min:+1.0008238852024081e+00 Max:+1.1028974890708922e+00 RMS:+1.0206326656914078e+00 +---------------------------------------------------------------------------------------------------- diff --git a/rrfs-test/testoutput/rrfs-fv3jedi-hyb.ref b/rrfs-test/testoutput/rrfs-fv3jedi-hyb.ref deleted file mode 100644 index abed45f6..00000000 --- a/rrfs-test/testoutput/rrfs-fv3jedi-hyb.ref +++ /dev/null @@ -1,57 +0,0 @@ -Norm of input parameter StdDev: 9.4986412011183896e-01 -CostJb : Nonlinear Jb = 0.0000000000000000e+00 -CostJo : Nonlinear Jo(Aircraft) = 1.6277063866803385e+02, nobs = 197, Jo/n = 8.2624689679204999e-01, err = 2.2878461627138713e+00 -CostJo : Nonlinear Jo(sonde) = 4.6083942594316369e+01, nobs = 96, Jo/n = 4.8004106869079549e-01, err = 1.2699158479229833e+00 -CostJo : Nonlinear Jo(sonde) = 3.5136386636656073e+02, nobs = 492, Jo/n = 7.1415419993203400e-01, err = 2.6485332421855685e+00 (Monitoring only) -CostFunction: Nonlinear J = 2.0885458126235022e+02 -DRPCGMinimizer: reduction in residual norm = 2.7824421531180651e-03 -CostFunction::addIncrement: Analysis: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 10 | cube sphere face size: C396 -eastward_wind | Min:-2.4172478440722166e+01 Max:+5.8744213104248047e+01 RMS:+1.1074254228003721e+01 -northward_wind | Min:-4.6842254638671875e+01 Max:+6.7075992762060139e+01 RMS:+9.1575337935866052e+00 -u_component_of_native_D_grid_wind | Min:-5.8205993652343750e+01 Max:+2.7109228988747304e+01 RMS:+1.1163967556309810e+01 -v_component_of_native_D_grid_wind | Min:-6.8115785512445697e+01 Max:+4.6548946380615234e+01 RMS:+9.0728668941041590e+00 -air_temperature | Min:+1.9858006286621094e+02 Max:+3.1420623779296875e+02 RMS:+2.6052094626363748e+02 -air_pressure_thickness | Min:+2.0438423156738281e+02 Max:+3.3835468750000000e+03 RMS:+1.8520940188066577e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.9826183095574379e-02 RMS:+5.6389210501995727e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.1363915032580437e+38 RMS:+1.8745365416579955e+36 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.1363915032580437e+38 RMS:+2.0899721915550581e+36 -ozone_mass_mixing_ratio | Min:+4.0375940812964473e-08 Max:+1.6066782336565666e-05 RMS:+2.8037513171416430e-06 ----------------------------------------------------------------------------------------------------- - - - - - -Norm of input parameter StdDev: 0.949864120111839 -CostJb : Nonlinear Jb = 0.9028632742725768 -CostJo : Nonlinear Jo(Aircraft) = 46.00808938648616, nobs = 197, Jo/n = 0.2335436009466303, err = 2.287846162713871 -CostJo : Nonlinear Jo(sonde) = 31.20243554366136, nobs = 96, Jo/n = 0.3250253702464725, err = 1.269915847922983 -CostJo : Nonlinear Jo(sonde) = 346.8911603390688, nobs = 492, Jo/n = 0.7050633340224977, err = 2.648533242185569 (Monitoring only) -CostFunction: Nonlinear J = 78.1133882044201 -DRPCGMinimizer: reduction in residual norm = 0.005966881060084853 -CostFunction::addIncrement: Analysis: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 10 | cube sphere face size: C396 -eastward_wind | Min:-2.4171419042986830e+01 Max:+5.8744213104248047e+01 RMS:+1.1074256913053947e+01 -northward_wind | Min:-4.6842254638671875e+01 Max:+6.7075992766887268e+01 RMS:+9.1575456881565902e+00 -u_component_of_native_D_grid_wind | Min:-5.8205993652343750e+01 Max:+2.7108462492609508e+01 RMS:+1.1163970275632899e+01 -v_component_of_native_D_grid_wind | Min:-6.8115785523746766e+01 Max:+4.6548946380615234e+01 RMS:+9.0728787561097732e+00 -air_temperature | Min:+1.9858006286621094e+02 Max:+3.1420623779296875e+02 RMS:+2.6052095318275576e+02 -air_pressure_thickness | Min:+2.0438423156738281e+02 Max:+3.3835468750000000e+03 RMS:+1.8520940211705904e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.9826183095574379e-02 RMS:+5.6389233413203753e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.1376105630346728e+38 RMS:+1.8745015174562462e+36 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.1376105630346728e+38 RMS:+2.0875908498287738e+36 -ozone_mass_mixing_ratio | Min:+4.0375940812964473e-08 Max:+1.6066782336565666e-05 RMS:+2.8037513646290239e-06 ----------------------------------------------------------------------------------------------------- - - - - - -CostJb : Nonlinear Jb = 0.9033093522182356 -CostJo : Nonlinear Jo(Aircraft) = 45.9756432627705, nobs = 197, Jo/n = 0.2333788998110178, err = 2.287846162713871 -CostJo : Nonlinear Jo(sonde) = 31.21293388165803, nobs = 96, Jo/n = 0.3251347279339378, err = 1.269915847922983 -CostJo : Nonlinear Jo(sonde) = 346.9156273098469, nobs = 492, Jo/n = 0.7051130636379003, err = 2.648533242185569 (Monitoring only) -CostFunction: Nonlinear J = 78.09188649664675 diff --git a/rrfs-test/testoutput/rrfs-fv3jedi-letkf.ref b/rrfs-test/testoutput/rrfs-fv3jedi-letkf.ref deleted file mode 100644 index b20b7d87..00000000 --- a/rrfs-test/testoutput/rrfs-fv3jedi-letkf.ref +++ /dev/null @@ -1,630 +0,0 @@ -Initial state for member 1: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.4552827835083008e+01 Max:+5.7135860443115234e+01 RMS:+1.1063035005439671e+01 -northward_wind | Min:-4.7516700744628906e+01 Max:+6.7221572875976562e+01 RMS:+9.4324992443710105e+00 -air_temperature | Min:+1.9797726440429688e+02 Max:+3.1471905517578125e+02 RMS:+2.6048774144248353e+02 -air_pressure_thickness | Min:+2.0399357604980469e+02 Max:+3.3787851562500000e+03 RMS:+1.8517924106580581e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8765524029731750e-02 RMS:+5.3711932352127111e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.6671801859047264e-04 RMS:+1.3991859262579629e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.9425676437094808e-03 RMS:+5.8872091277809667e-05 -ozone_mass_mixing_ratio | Min:+3.4185472230774394e-08 Max:+1.6133806639118120e-05 RMS:+2.8047658514220936e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 2: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8712993621826172e+01 Max:+6.1331211090087891e+01 RMS:+1.1198201222993633e+01 -northward_wind | Min:-4.7017333984375000e+01 Max:+6.4980690002441406e+01 RMS:+9.3855973725696948e+00 -air_temperature | Min:+1.9811326599121094e+02 Max:+3.1465298461914062e+02 RMS:+2.6053477562714505e+02 -air_pressure_thickness | Min:+2.0392295837402344e+02 Max:+3.3849101562500000e+03 RMS:+1.8516015873369158e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.9112791866064072e-02 RMS:+5.4563134079118978e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.4262340846471488e-04 RMS:+1.1403299655629445e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.9343785243108869e-03 RMS:+5.8583618748373418e-05 -ozone_mass_mixing_ratio | Min:+3.5763751071726801e-08 Max:+1.6147692804224789e-05 RMS:+2.8023946239846793e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 3: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.6520679473876953e+01 Max:+5.8307296752929688e+01 RMS:+1.1224765147310578e+01 -northward_wind | Min:-5.1093585968017578e+01 Max:+6.3293029785156250e+01 RMS:+9.2089371793735602e+00 -air_temperature | Min:+1.9779676818847656e+02 Max:+3.1494134521484375e+02 RMS:+2.6057486151375093e+02 -air_pressure_thickness | Min:+2.0384504699707031e+02 Max:+3.3818632812500000e+03 RMS:+1.8517001104196681e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8577706068754196e-02 RMS:+5.4104322343298114e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+3.1585909891873598e-04 RMS:+1.4166638699953167e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7672630492597818e-03 RMS:+5.8135949146835216e-05 -ozone_mass_mixing_ratio | Min:+2.9633572040665968e-08 Max:+1.6201609469135292e-05 RMS:+2.8041417444858587e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 4: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.9482545852661133e+01 Max:+6.0980907440185547e+01 RMS:+1.1239973250352394e+01 -northward_wind | Min:-5.1584819793701172e+01 Max:+6.4086593627929688e+01 RMS:+9.4120735136206033e+00 -air_temperature | Min:+1.9804792785644531e+02 Max:+3.1477310180664062e+02 RMS:+2.6050147416610713e+02 -air_pressure_thickness | Min:+2.0377488708496094e+02 Max:+3.3854882812500000e+03 RMS:+1.8517409786374601e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8764866515994072e-02 RMS:+5.3713112464919971e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.4841079246252775e-04 RMS:+1.3452690546891196e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8411085475236177e-03 RMS:+5.6029716285971659e-05 -ozone_mass_mixing_ratio | Min:+4.5364490830479554e-08 Max:+1.5996580259525217e-05 RMS:+2.8024987142183999e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 5: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.2153974533081055e+01 Max:+5.4971942901611328e+01 RMS:+1.1269891464094654e+01 -northward_wind | Min:-4.7885272979736328e+01 Max:+6.7441963195800781e+01 RMS:+9.2523277959387205e+00 -air_temperature | Min:+1.9832524108886719e+02 Max:+3.1458151245117188e+02 RMS:+2.6052099637206436e+02 -air_pressure_thickness | Min:+2.0411071777343750e+02 Max:+3.3932382812500000e+03 RMS:+1.8520068855429597e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8688581883907318e-02 RMS:+5.3648701064557842e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.8874595116358250e-04 RMS:+1.4422081045462438e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8505597254261374e-03 RMS:+5.7220685759635957e-05 -ozone_mass_mixing_ratio | Min:+4.5481844068717692e-08 Max:+1.6137242710101418e-05 RMS:+2.8042632258077911e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 6: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8102352142333984e+01 Max:+6.3114158630371094e+01 RMS:+1.1093752299590673e+01 -northward_wind | Min:-4.8484893798828125e+01 Max:+6.3766620635986328e+01 RMS:+9.3161812376186788e+00 -air_temperature | Min:+1.9798841857910156e+02 Max:+3.1465917968750000e+02 RMS:+2.6047329079499076e+02 -air_pressure_thickness | Min:+2.0368110656738281e+02 Max:+3.3832734375000000e+03 RMS:+1.8515800985458800e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8553894013166428e-02 RMS:+5.3776014188244891e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.8887790793087333e-04 RMS:+1.5585887848981035e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8682735972106457e-03 RMS:+5.4796968210472132e-05 -ozone_mass_mixing_ratio | Min:+4.5028386352896632e-08 Max:+1.6077116015367210e-05 RMS:+2.8032103331647934e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 7: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.0723619461059570e+01 Max:+6.3030204772949219e+01 RMS:+1.1178367395692190e+01 -northward_wind | Min:-4.6948547363281250e+01 Max:+6.3262065887451172e+01 RMS:+9.0358781683201936e+00 -air_temperature | Min:+1.9838299560546875e+02 Max:+3.1478729248046875e+02 RMS:+2.6058026921923442e+02 -air_pressure_thickness | Min:+2.0387635803222656e+02 Max:+3.3889687500000000e+03 RMS:+1.8518102088845656e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8733739852905273e-02 RMS:+5.3862167731447610e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.7145556921605021e-04 RMS:+1.3215971119684924e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8549925880506635e-03 RMS:+5.4573039274885794e-05 -ozone_mass_mixing_ratio | Min:+3.0976138987170998e-08 Max:+1.6167294234037399e-05 RMS:+2.8029440975064949e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 8: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.8060981750488281e+01 Max:+5.7251274108886719e+01 RMS:+1.1192138938908345e+01 -northward_wind | Min:-4.5523849487304688e+01 Max:+6.2281608581542969e+01 RMS:+9.1726039684532861e+00 -air_temperature | Min:+1.9805499267578125e+02 Max:+3.1478469848632812e+02 RMS:+2.6054608964324700e+02 -air_pressure_thickness | Min:+2.0393878173828125e+02 Max:+3.3867770996093750e+03 RMS:+1.8518622439546230e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8749812617897987e-02 RMS:+5.3698708385966918e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.5175224689301103e-04 RMS:+1.3755451005840954e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.9082704093307257e-03 RMS:+5.5496520743966040e-05 -ozone_mass_mixing_ratio | Min:+3.9572231713691508e-08 Max:+1.6183006664505228e-05 RMS:+2.8033068466502629e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 9: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.7552461624145508e+01 Max:+5.7206161499023438e+01 RMS:+1.1098323450838008e+01 -northward_wind | Min:-5.0256847381591797e+01 Max:+6.9837478637695312e+01 RMS:+9.3587386303760045e+00 -air_temperature | Min:+1.9816589355468750e+02 Max:+3.1498153686523438e+02 RMS:+2.6053482785165818e+02 -air_pressure_thickness | Min:+2.0422798156738281e+02 Max:+3.3864567871093750e+03 RMS:+1.8513819224974254e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8670363351702690e-02 RMS:+5.3551083376169231e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.8117939180228859e-04 RMS:+1.5541377452457102e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.9272102508693933e-03 RMS:+5.3488440931702060e-05 -ozone_mass_mixing_ratio | Min:+3.2068907529492208e-08 Max:+1.6133953977259807e-05 RMS:+2.8027328154693448e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 10: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.2011659622192383e+01 Max:+5.7915679931640625e+01 RMS:+1.1109938619942447e+01 -northward_wind | Min:-4.6224708557128906e+01 Max:+6.3643943786621094e+01 RMS:+9.1850574421877074e+00 -air_temperature | Min:+1.9819712829589844e+02 Max:+3.1466278076171875e+02 RMS:+2.6059450108303366e+02 -air_pressure_thickness | Min:+2.0361059570312500e+02 Max:+3.3790625000000000e+03 RMS:+1.8514693250539358e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8735190853476524e-02 RMS:+5.4024913337500291e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.8792660557664931e-04 RMS:+1.3195461370635450e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8079434521496296e-03 RMS:+5.7768458154571606e-05 -ozone_mass_mixing_ratio | Min:+4.1670293882134501e-08 Max:+1.6162597603397444e-05 RMS:+2.8041991185230180e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 11: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.2040927886962891e+01 Max:+5.9079521179199219e+01 RMS:+1.1200958085723716e+01 -northward_wind | Min:-4.2874748229980469e+01 Max:+6.6007736206054688e+01 RMS:+9.2468607719195894e+00 -air_temperature | Min:+1.9819940185546875e+02 Max:+3.1471786499023438e+02 RMS:+2.6053484837920786e+02 -air_pressure_thickness | Min:+2.0395419311523438e+02 Max:+3.3893750000000000e+03 RMS:+1.8521521824553329e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8642647191882133e-02 RMS:+5.3452300395998914e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.5069718938320875e-04 RMS:+1.5246497100098166e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8197420286014676e-03 RMS:+5.1260887597007883e-05 -ozone_mass_mixing_ratio | Min:+3.9773659921138460e-08 Max:+1.6113250239868648e-05 RMS:+2.8038098026683733e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 12: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8729566574096680e+01 Max:+5.7493614196777344e+01 RMS:+1.1069079603629490e+01 -northward_wind | Min:-4.6934352874755859e+01 Max:+6.7516494750976562e+01 RMS:+9.2767183936718265e+00 -air_temperature | Min:+1.9817338562011719e+02 Max:+3.1482406616210938e+02 RMS:+2.6056860505350545e+02 -air_pressure_thickness | Min:+2.0390750122070312e+02 Max:+3.3823554687500000e+03 RMS:+1.8516933519901600e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.9433822482824326e-02 RMS:+5.4669470634948923e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.0374542509671301e-04 RMS:+1.2769657186346506e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7424002289772034e-03 RMS:+5.6588534631520195e-05 -ozone_mass_mixing_ratio | Min:+4.0263898881676141e-08 Max:+1.6137373677338473e-05 RMS:+2.8040388895492620e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 13: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8208660125732422e+01 Max:+5.9777496337890625e+01 RMS:+1.1104754554291729e+01 -northward_wind | Min:-5.3382720947265625e+01 Max:+6.7088066101074219e+01 RMS:+9.3192430279913712e+00 -air_temperature | Min:+1.9698861694335938e+02 Max:+3.1472790527343750e+02 RMS:+2.6056611245891042e+02 -air_pressure_thickness | Min:+2.0388406372070312e+02 Max:+3.3800742187500000e+03 RMS:+1.8517606426126429e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8926344811916351e-02 RMS:+5.3455277747312584e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.9097482436336577e-04 RMS:+1.2194574597001920e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7544272122904658e-03 RMS:+5.6417932165456815e-05 -ozone_mass_mixing_ratio | Min:+4.0055315508880085e-08 Max:+1.6178966689039953e-05 RMS:+2.8047654957884993e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 14: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.4631858825683594e+01 Max:+5.9677951812744141e+01 RMS:+1.1163048772314367e+01 -northward_wind | Min:-4.7824600219726562e+01 Max:+6.9349670410156250e+01 RMS:+9.2883197600538860e+00 -air_temperature | Min:+1.9796781921386719e+02 Max:+3.1493148803710938e+02 RMS:+2.6048328942754989e+02 -air_pressure_thickness | Min:+2.0401702880859375e+02 Max:+3.3833476562500000e+03 RMS:+1.8520732116572797e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.9184844568371773e-02 RMS:+5.3795480763530728e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.6701251044869423e-04 RMS:+1.4656289618704190e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8744962289929390e-03 RMS:+5.7526594894318761e-05 -ozone_mass_mixing_ratio | Min:+3.6723196927823665e-08 Max:+1.6109097487060353e-05 RMS:+2.8039904198692555e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 15: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.0373733520507812e+01 Max:+5.9699436187744141e+01 RMS:+1.1233713679521323e+01 -northward_wind | Min:-4.9848007202148438e+01 Max:+6.6210678100585938e+01 RMS:+9.3232072552734557e+00 -air_temperature | Min:+1.9813885498046875e+02 Max:+3.1484930419921875e+02 RMS:+2.6057907850115748e+02 -air_pressure_thickness | Min:+2.0381365966796875e+02 Max:+3.3843437500000000e+03 RMS:+1.8517095353482682e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.9126476719975471e-02 RMS:+5.4283895172378858e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.0742295600939542e-04 RMS:+1.3610690104311917e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8644110532477498e-03 RMS:+5.7022951276037072e-05 -ozone_mass_mixing_ratio | Min:+3.9316990552151765e-08 Max:+1.6107656847452745e-05 RMS:+2.8026009524200031e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 16: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.7283813476562500e+01 Max:+5.8123317718505859e+01 RMS:+1.1271676324039488e+01 -northward_wind | Min:-4.5909229278564453e+01 Max:+6.4767204284667969e+01 RMS:+9.2163835486787313e+00 -air_temperature | Min:+1.9836703491210938e+02 Max:+3.1460073852539062e+02 RMS:+2.6053778734297254e+02 -air_pressure_thickness | Min:+2.0386868286132812e+02 Max:+3.3928085937500000e+03 RMS:+1.8517764034656350e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.9452819600701332e-02 RMS:+5.4255683544444447e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.0821503130719066e-04 RMS:+1.2998636513623103e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8770609749481082e-03 RMS:+5.7574966626452324e-05 -ozone_mass_mixing_ratio | Min:+4.1092558689115322e-08 Max:+1.6184765627258457e-05 RMS:+2.8029760294488075e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 17: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.3300662994384766e+01 Max:+5.8220932006835938e+01 RMS:+1.1208869735866656e+01 -northward_wind | Min:-4.8170490264892578e+01 Max:+6.4114234924316406e+01 RMS:+9.3081931683241965e+00 -air_temperature | Min:+1.9845703125000000e+02 Max:+3.1484094238281250e+02 RMS:+2.6055126645912151e+02 -air_pressure_thickness | Min:+2.0394685363769531e+02 Max:+3.3836640625000000e+03 RMS:+1.8515631342244080e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8645580857992172e-02 RMS:+5.3714373708322813e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.3944992679171264e-04 RMS:+1.3379181573371105e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7981169512495399e-03 RMS:+5.6499233175633352e-05 -ozone_mass_mixing_ratio | Min:+3.6805371195214320e-08 Max:+1.6155086996150203e-05 RMS:+2.8044188069984414e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 18: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8096605300903320e+01 Max:+5.9599571228027344e+01 RMS:+1.1126922888579047e+01 -northward_wind | Min:-4.6187294006347656e+01 Max:+6.4702621459960938e+01 RMS:+9.2359223256640224e+00 -air_temperature | Min:+1.9828944396972656e+02 Max:+3.1491613769531250e+02 RMS:+2.6051238877202684e+02 -air_pressure_thickness | Min:+2.0407183837890625e+02 Max:+3.3840625000000000e+03 RMS:+1.8520325529487350e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8557164818048477e-02 RMS:+5.4108481850620666e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+2.1479417046066374e-04 RMS:+1.4485191838179378e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8144971691071987e-03 RMS:+5.6185256189802084e-05 -ozone_mass_mixing_ratio | Min:+4.0971720238758280e-08 Max:+1.6153462638612837e-05 RMS:+2.8028163331776833e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 19: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8481704711914062e+01 Max:+6.0773368835449219e+01 RMS:+1.1163030211020832e+01 -northward_wind | Min:-4.6127361297607422e+01 Max:+6.1180721282958984e+01 RMS:+9.2830644395675748e+00 -air_temperature | Min:+1.9815588378906250e+02 Max:+3.1478994750976562e+02 RMS:+2.6056808147788161e+02 -air_pressure_thickness | Min:+2.0382954406738281e+02 Max:+3.3855781250000000e+03 RMS:+1.8517553962383276e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8785038962960243e-02 RMS:+5.4077003958784460e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.5252297453116626e-04 RMS:+1.3496516291308257e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.9831303507089615e-03 RMS:+5.2390571916817159e-05 -ozone_mass_mixing_ratio | Min:+4.1760529256862355e-08 Max:+1.6072204743977636e-05 RMS:+2.8023694022846181e-06 ----------------------------------------------------------------------------------------------------- -Initial state for member 20: ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-2.6460836410522461e+01 Max:+5.9347232818603516e+01 RMS:+1.1201478463305333e+01 -northward_wind | Min:-4.2038341522216797e+01 Max:+6.7609603881835938e+01 RMS:+9.3705518138930923e+00 -air_temperature | Min:+1.9795512390136719e+02 Max:+3.1488781738281250e+02 RMS:+2.6050190681979927e+02 -air_pressure_thickness | Min:+2.0389962768554688e+02 Max:+3.3867578125000000e+03 RMS:+1.8517618407842206e+03 -specific_humidity | Min:+9.9999997171806854e-10 Max:+1.8698450177907944e-02 RMS:+5.3740388805781263e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.9896327285096049e-04 RMS:+1.4729549875770548e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.8395739607512951e-03 RMS:+6.1616557096546453e-05 -ozone_mass_mixing_ratio | Min:+4.0413265622873951e-08 Max:+1.6096742911031470e-05 RMS:+2.8031284907549483e-06 ----------------------------------------------------------------------------------------------------- -H(x) for member 1: -Aircraft nobs= 197 Min=278.5991294938138, Max=300.7699437438174, RMS=288.8354340184759 - -Aircraft nobs= 96 Min=203.5861706080662, Max=277.6231627205777, RMS=224.7444681735024 - -Sonde nobs= 96 Min=1.374148479657291e-06, Max=0.003345421100119254, RMS=0.0007345657600918537 - - -H(x) for member 2: -Aircraft nobs= 197 Min=279.4729512276246, Max=300.5620907927155, RMS=289.078145129384 - -Aircraft nobs= 96 Min=204.4927444680395, Max=278.0951052992173, RMS=224.6884907592889 - -Sonde nobs= 96 Min=1.333776970761638e-06, Max=0.006042452038073846, RMS=0.001265961034771429 - - -H(x) for member 3: -Aircraft nobs= 197 Min=278.9028084693565, Max=300.7400695276654, RMS=288.8511063225436 - -Aircraft nobs= 96 Min=204.4195500405599, Max=277.5096822322893, RMS=224.6995892751169 - -Sonde nobs= 96 Min=1.341946927011208e-06, Max=0.003198685845951131, RMS=0.0006758900455522127 - - -H(x) for member 4: -Aircraft nobs= 197 Min=278.3591397714594, Max=300.3968391182296, RMS=288.8944030731337 - -Aircraft nobs= 96 Min=204.269092896816, Max=278.0253633308582, RMS=224.6923783555538 - -Sonde nobs= 96 Min=1.365092960686682e-06, Max=0.002254451586956927, RMS=0.0006498496086833257 - - -H(x) for member 5: -Aircraft nobs= 197 Min=278.2866611824016, Max=300.1189098410804, RMS=288.926725721903 - -Aircraft nobs= 96 Min=203.3273201041289, Max=277.9595222072052, RMS=224.6117652854065 - -Sonde nobs= 96 Min=1.38848958052202e-06, Max=0.002585355579882165, RMS=0.0007090901581591743 - - -H(x) for member 6: -Aircraft nobs= 197 Min=278.5443338760624, Max=300.2833572355124, RMS=289.0536150383467 - -Aircraft nobs= 96 Min=204.1662043165091, Max=278.301163081986, RMS=224.6710798674596 - -Sonde nobs= 96 Min=1.413980584654384e-06, Max=0.002379920676031335, RMS=0.0006187296134975494 - - -H(x) for member 7: -Aircraft nobs= 197 Min=278.5233261609348, Max=300.7460886932549, RMS=289.4198547631789 - -Aircraft nobs= 96 Min=204.2054053017329, Max=277.3743917454072, RMS=224.6133843005906 - -Sonde nobs= 96 Min=1.379883790388627e-06, Max=0.00462696992016367, RMS=0.001031737834437664 - - -H(x) for member 8: -Aircraft nobs= 197 Min=278.4835785886443, Max=300.4168712189257, RMS=289.1900276214827 - -Aircraft nobs= 96 Min=203.6357897710284, Max=277.5589671927722, RMS=224.6374564533648 - -Sonde nobs= 96 Min=1.389243590008935e-06, Max=0.004598340252624756, RMS=0.0009409461991891221 - - -H(x) for member 9: -Aircraft nobs= 197 Min=278.9028249102618, Max=301.3052497739693, RMS=288.9302203399712 - -Aircraft nobs= 96 Min=204.0379213074914, Max=278.7086733530339, RMS=224.6955912823737 - -Sonde nobs= 96 Min=1.361382549029703e-06, Max=0.002093879053629677, RMS=0.000479392305653607 - - -H(x) for member 10: -Aircraft nobs= 197 Min=278.3937557654096, Max=301.0007809586949, RMS=289.0862967286932 - -Aircraft nobs= 96 Min=203.6587954275909, Max=278.4401942997561, RMS=224.7125631122956 - -Sonde nobs= 96 Min=1.342908215054468e-06, Max=0.002144085833636666, RMS=0.0005821013693364425 - - -H(x) for member 11: -Aircraft nobs= 197 Min=279.0243637334072, Max=300.3517519321312, RMS=289.1888762417836 - -Aircraft nobs= 96 Min=204.0271997041749, Max=277.7624294059173, RMS=224.653541853597 - -Sonde nobs= 96 Min=1.36491226088751e-06, Max=0.003610537127698208, RMS=0.000735954257933757 - - -H(x) for member 12: -Aircraft nobs= 197 Min=278.2404378589895, Max=300.3630907609348, RMS=288.7211885038874 - -Aircraft nobs= 96 Min=204.1713989713469, Max=278.5489506618085, RMS=224.7181402567994 - -Sonde nobs= 96 Min=1.380588522191328e-06, Max=0.002630049880207128, RMS=0.000688944427844402 - - -H(x) for member 13: -Aircraft nobs= 197 Min=277.7994973491943, Max=300.6960117584549, RMS=288.6152355000621 - -Aircraft nobs= 96 Min=203.7357729251341, Max=276.8047408610637, RMS=224.6230770161731 - -Sonde nobs= 96 Min=1.376635052695741e-06, Max=0.006009463418341176, RMS=0.001150642634900266 - - -H(x) for member 14: -Aircraft nobs= 197 Min=278.9568540748917, Max=300.5292723927444, RMS=288.7482657720245 - -Aircraft nobs= 96 Min=203.5605182315944, Max=278.7099824397723, RMS=224.6731848542377 - -Sonde nobs= 96 Min=1.341389519103388e-06, Max=0.00243886308331473, RMS=0.0006076263326999542 - - -H(x) for member 15: -Aircraft nobs= 197 Min=278.2674666596857, Max=300.5082070662548, RMS=288.7170452114372 - -Aircraft nobs= 96 Min=204.1181900801271, Max=278.0727053129902, RMS=224.7625380552949 - -Sonde nobs= 96 Min=1.349984097351363e-06, Max=0.002522636643878353, RMS=0.000668801249495174 - - -H(x) for member 16: -Aircraft nobs= 197 Min=278.0835515728666, Max=300.8560929490408, RMS=288.6114995778276 - -Aircraft nobs= 96 Min=203.6985580885259, Max=277.8626103910262, RMS=224.7537991223529 - -Sonde nobs= 96 Min=1.40094224268918e-06, Max=0.003088657642776602, RMS=0.0006584663310875764 - - -H(x) for member 17: -Aircraft nobs= 197 Min=278.7309079932087, Max=300.75477695593, RMS=288.914102877565 - -Aircraft nobs= 96 Min=204.2236827357798, Max=277.7090107555293, RMS=224.6729649287309 - -Sonde nobs= 96 Min=1.321284328236993e-06, Max=0.002653130356754645, RMS=0.0006722903236731135 - - -H(x) for member 18: -Aircraft nobs= 197 Min=278.3996577069072, Max=300.9495323179041, RMS=289.2839053184257 - -Aircraft nobs= 96 Min=203.9178509518592, Max=276.9770116320026, RMS=224.5787419209741 - -Sonde nobs= 96 Min=1.342256195669287e-06, Max=0.005318647273253322, RMS=0.001040274567102016 - - -H(x) for member 19: -Aircraft nobs= 197 Min=278.6265768341382, Max=300.4025655747845, RMS=288.8543058390893 - -Aircraft nobs= 96 Min=204.118377706847, Max=277.6334491136886, RMS=224.6002877914852 - -Sonde nobs= 96 Min=1.376253366673296e-06, Max=0.00304739028378135, RMS=0.0006315879572295777 - - -H(x) for member 20: -Aircraft nobs= 197 Min=278.3245678190379, Max=300.4436177429371, RMS=288.5816672783666 - -Aircraft nobs= 96 Min=204.0375431782308, Max=278.706295742856, RMS=224.722090636607 - -Sonde nobs= 96 Min=1.391525826833515e-06, Max=0.002385773620601045, RMS=0.000636029951168159 - - -H(x) ensemble background mean: -Aircraft nobs= 197 Min=278.5461195524148, Max=300.5848334791978, RMS=288.924112898159 - -Aircraft nobs= 96 Min=203.9704043407791, Max=277.9191705889879, RMS=224.6758304560076 - -Sonde nobs= 96 Min=1.373646535365079e-06, Max=0.003229642888302965, RMS=0.0007408868056486823 - - -background y - H(x): -Aircraft nobs= 197 Min=-4.409773805303075, Max=6.445621631091342, RMS=3.052932678339127 - -Aircraft nobs= 96 Min=-3.534145162726645, Max=2.831903122267363, RMS=1.19889976502922 - -Sonde nobs= 96 Min=-0.001703642910118265, Max=0.001011199239247242, RMS=0.0003903843794812046 - - -Background mean : ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8225384902954101e+01 Max:+5.7395215606689462e+01 RMS:+1.1069930490444319e+01 -northward_wind | Min:-4.1874532127380370e+01 Max:+6.1081489181518556e+01 RMS:+9.1545552705555711e+00 -air_temperature | Min:+1.9861198883056642e+02 Max:+3.1478148498535148e+02 RMS:+2.6053701547872049e+02 -air_pressure_thickness | Min:+2.0390875015258794e+02 Max:+3.3839316650390629e+03 RMS:+1.8517608487277630e+03 -specific_humidity | Min:+8.4364832360073198e-07 Max:+1.8633804935961961e-02 RMS:+5.3764965470113031e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.4026642747921869e-04 RMS:+1.0061163998859504e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7452320375014097e-03 RMS:+4.0155060146159643e-05 -ozone_mass_mixing_ratio | Min:+5.0366894654985124e-08 Max:+1.6027388755901484e-05 RMS:+2.8028380790567362e-06 ----------------------------------------------------------------------------------------------------- -Analysis mean : ----------------------------------------------------------------------------------------------------- -State print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-1.8225384902954101e+01 Max:+5.7395215606689462e+01 RMS:+1.1071006304604953e+01 -northward_wind | Min:-4.1874532127380370e+01 Max:+6.1081489181518556e+01 RMS:+9.1509795117498296e+00 -air_temperature | Min:+1.9861198883056642e+02 Max:+3.1478148498535148e+02 RMS:+2.6054319300443888e+02 -air_pressure_thickness | Min:+2.0390875015258794e+02 Max:+3.3839316650390629e+03 RMS:+1.8517563975328019e+03 -specific_humidity | Min:+8.4364832360073198e-07 Max:+1.8633804935961961e-02 RMS:+5.3769081211310441e-03 -cloud_liquid_ice | Min:+0.0000000000000000e+00 Max:+1.4026642747921869e-04 RMS:+1.0073564753211994e-06 -cloud_liquid_water | Min:+0.0000000000000000e+00 Max:+1.7453546817240680e-03 RMS:+4.0256081963527662e-05 -ozone_mass_mixing_ratio | Min:+5.0366894654985124e-08 Max:+1.6027388755901484e-05 RMS:+2.8028430501065358e-06 ----------------------------------------------------------------------------------------------------- -Analysis mean increment : ----------------------------------------------------------------------------------------------------- -Increment print | number of fields = 8 | cube sphere face size: C396 -eastward_wind | Min:-8.1381372304743707e+00 Max:+5.1737721161649830e+00 RMS:+1.1655028767106790e-01 -northward_wind | Min:-7.1607966431805998e+00 Max:+5.7343145091209493e+00 RMS:+1.1398313072992589e-01 -air_temperature | Min:-3.9806651402051898e+00 Max:+7.2541505725767479e+00 RMS:+1.1268578330285925e-01 -air_pressure_thickness | Min:-8.1926287590044922e+00 Max:+2.5806705215941292e+00 RMS:+1.0263771141515300e-01 -specific_humidity | Min:-1.5583242808286106e-03 Max:+4.4834333326031076e-03 RMS:+3.6904678614755282e-05 -cloud_liquid_ice | Min:-7.5500544115048162e-06 Max:+5.9109264889340571e-06 RMS:+2.9652430809641430e-08 -cloud_liquid_water | Min:-3.0917945091679888e-04 Max:+1.0192448590326982e-03 RMS:+2.3533392298494524e-06 -ozone_mass_mixing_ratio | Min:-4.2606916346988569e-07 Max:+4.8053489853053152e-07 RMS:+3.6553200360894002e-09 ----------------------------------------------------------------------------------------------------- -H(x) for member 1: -Aircraft nobs= 197 Min=278.6077692322001, Max=300.8508095204177, RMS=289.8634912281084 - -Aircraft nobs= 96 Min=203.4314235800366, Max=278.1799751512493, RMS=224.7520535937167 - -Sonde nobs= 96 Min=1.328892742236663e-06, Max=0.002812789257590164, RMS=0.0006041508234585635 - - -H(x) for member 2: -Aircraft nobs= 197 Min=279.4746194959146, Max=300.6399072262169, RMS=290.1128802270351 - -Aircraft nobs= 96 Min=204.3623032609144, Max=278.8390216735909, RMS=224.7012848651509 - -Sonde nobs= 96 Min=1.326635748846563e-06, Max=0.004519972704027678, RMS=0.001017113032733665 - - -H(x) for member 3: -Aircraft nobs= 197 Min=278.9511862427959, Max=300.8664112410133, RMS=289.8967857349142 - -Aircraft nobs= 96 Min=204.2636471773392, Max=278.0341602488406, RMS=224.7071198076715 - -Sonde nobs= 96 Min=1.31698655949752e-06, Max=0.001852723192696984, RMS=0.0004866139997476097 - - -H(x) for member 4: -Aircraft nobs= 197 Min=278.364965294519, Max=300.476721088963, RMS=289.9325109238025 - -Aircraft nobs= 96 Min=204.1035026912287, Max=278.5720370783391, RMS=224.6947985732277 - -Sonde nobs= 96 Min=1.35610220895691e-06, Max=0.001846095976608056, RMS=0.0004939878794225697 - - -H(x) for member 5: -Aircraft nobs= 197 Min=278.2724552676894, Max=300.2004544689701, RMS=289.9625036710902 - -Aircraft nobs= 96 Min=203.1811386656816, Max=278.529690106291, RMS=224.6180167608225 - -Sonde nobs= 96 Min=1.363586438439112e-06, Max=0.002237448055504626, RMS=0.0005426643773252871 - - -H(x) for member 6: -Aircraft nobs= 197 Min=278.5712854664168, Max=300.3644912657342, RMS=290.0873092855821 - -Aircraft nobs= 96 Min=204.0079576251842, Max=278.8407647655792, RMS=224.678202961314 - -Sonde nobs= 96 Min=1.39060506930964e-06, Max=0.002215579945018352, RMS=0.0004985359221163167 - - -H(x) for member 7: -Aircraft nobs= 197 Min=278.5301109094887, Max=300.8256784932111, RMS=290.4519285586161 - -Aircraft nobs= 96 Min=204.0584557260233, Max=277.9692193508436, RMS=224.620616466134 - -Sonde nobs= 96 Min=1.370877961757587e-06, Max=0.003062243837881382, RMS=0.0007981307209807803 - - -H(x) for member 8: -Aircraft nobs= 197 Min=278.4806403650368, Max=300.4966094777562, RMS=290.2236093553715 - -Aircraft nobs= 96 Min=203.4894668797795, Max=278.1786510386243, RMS=224.6488802761247 - -Sonde nobs= 96 Min=1.377353667279215e-06, Max=0.003150659971739661, RMS=0.0007175720498873333 - - -H(x) for member 9: -Aircraft nobs= 197 Min=278.8870273954296, Max=301.3833702200669, RMS=289.980035789907 - -Aircraft nobs= 96 Min=203.868739990344, Max=279.2250572119119, RMS=224.6976445560404 - -Sonde nobs= 96 Min=1.353831702907927e-06, Max=0.001690753224486444, RMS=0.0003439459864035609 - - -H(x) for member 10: -Aircraft nobs= 197 Min=278.4501146921604, Max=301.0794946194729, RMS=290.1257465070969 - -Aircraft nobs= 96 Min=203.5091939465078, Max=278.9673563500477, RMS=224.7160026234563 - -Sonde nobs= 96 Min=1.343198972102119e-06, Max=0.001878895730819537, RMS=0.0004351654565305058 - - -H(x) for member 11: -Aircraft nobs= 197 Min=279.0403501786812, Max=300.4326414854353, RMS=290.22864099945 - -Aircraft nobs= 96 Min=203.8540284455439, Max=278.3242001192637, RMS=224.6602185168655 - -Sonde nobs= 96 Min=1.359090566177546e-06, Max=0.002229043219297943, RMS=0.0005325401204258468 - - -H(x) for member 12: -Aircraft nobs= 197 Min=278.2125585212564, Max=300.441617822035, RMS=289.7615467213032 - -Aircraft nobs= 96 Min=204.0278997408907, Max=279.176041092, RMS=224.7272608975142 - -Sonde nobs= 96 Min=1.373626547590478e-06, Max=0.002039723752756256, RMS=0.0005113171084153509 - - -H(x) for member 13: -Aircraft nobs= 197 Min=277.8329357252097, Max=300.7767139940004, RMS=289.6580763295032 - -Aircraft nobs= 96 Min=203.5657508321086, Max=277.4474751353252, RMS=224.6355583717089 - -Sonde nobs= 96 Min=1.369836916854564e-06, Max=0.004582083742198467, RMS=0.0009068204557168794 - - -H(x) for member 14: -Aircraft nobs= 197 Min=278.9710295279273, Max=300.6897101222502, RMS=289.7801632853006 - -Aircraft nobs= 96 Min=203.4213083176698, Max=279.2776792966092, RMS=224.6791403313466 - -Sonde nobs= 96 Min=1.333662470199419e-06, Max=0.001915213583702985, RMS=0.0004680427419995132 - - -H(x) for member 15: -Aircraft nobs= 197 Min=278.325079456627, Max=300.6697883019294, RMS=289.7609659578089 - -Aircraft nobs= 96 Min=203.9716533909073, Max=278.6075882176003, RMS=224.7747239276084 - -Sonde nobs= 96 Min=1.329012916246443e-06, Max=0.002042272281274964, RMS=0.0005130131092400499 - - -H(x) for member 16: -Aircraft nobs= 197 Min=278.0833537732233, Max=301.013358419037, RMS=289.66124037852 - -Aircraft nobs= 96 Min=203.5335928708292, Max=278.4151899914935, RMS=224.7628815170138 - -Sonde nobs= 96 Min=1.39684302173689e-06, Max=0.001779226537494354, RMS=0.0004737324696214102 - - -H(x) for member 17: -Aircraft nobs= 197 Min=278.7654848034613, Max=300.8347270393037, RMS=289.950082184639 - -Aircraft nobs= 96 Min=204.0437372559158, Max=278.2124103184341, RMS=224.6783759747543 - -Sonde nobs= 96 Min=1.315291604423041e-06, Max=0.002077376257667974, RMS=0.0005133543850329765 - - -H(x) for member 18: -Aircraft nobs= 197 Min=278.3795758540035, Max=301.0254313047782, RMS=290.3080712848344 - -Aircraft nobs= 96 Min=203.7567781898761, Max=277.5898110756145, RMS=224.5837246282124 - -Sonde nobs= 96 Min=1.335412835884461e-06, Max=0.003883214304141003, RMS=0.0008071802788353593 - - -H(x) for member 19: -Aircraft nobs= 197 Min=278.6350604110191, Max=300.4808667601076, RMS=289.8962902304376 - -Aircraft nobs= 96 Min=203.9613659877964, Max=278.1730369264882, RMS=224.6072810387344 - -Sonde nobs= 96 Min=1.368594430866711e-06, Max=0.001704946496567081, RMS=0.0004536553321572966 - - -H(x) for member 20: -Aircraft nobs= 197 Min=278.3734471529548, Max=300.5238663425541, RMS=289.6228651805523 - -Aircraft nobs= 96 Min=203.8798538928539, Max=279.2523804449349, RMS=224.729245993219 - -Sonde nobs= 96 Min=1.354846116364391e-06, Max=0.00209214724024753, RMS=0.0004780943310024153 - - -H(x) ensemble analysis mean: -Aircraft nobs= 197 Min=278.5604524883008, Max=300.6643662595338, RMS=289.9622762191195 - -Aircraft nobs= 96 Min=203.8145899233716, Max=278.4905872796541, RMS=224.6832342044587 - -Sonde nobs= 96 Min=1.366336726874482e-06, Max=0.001902447608072282, RMS=0.0005474622065392784 - - -analysis y - H(x): -Aircraft nobs= 197 Min=-3.114505120543186, Max=4.316075562431024, RMS=1.864476526492631 - -Aircraft nobs= 96 Min=-3.46057314977952, Max=2.540774159305101, RMS=1.092125654752417 - -Sonde nobs= 96 Min=-0.0009784476154073782, Max=0.00104663035441071, RMS=0.0002709116059811449 - - -ombg RMS: 2.252736143011347 -oman RMS: 1.433467601898452 diff --git a/rrfs-test/ush/fv3gsi_increment_fulldom.py b/rrfs-test/ush/fv3gsi_increment_fulldom.py new file mode 100755 index 00000000..031831ee --- /dev/null +++ b/rrfs-test/ush/fv3gsi_increment_fulldom.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python +from netCDF4 import Dataset +import pdb +import matplotlib +matplotlib.use('agg') +import matplotlib.pyplot as plt +import matplotlib.colors as mcolors +import cartopy.geodesic +import cartopy +import cartopy.crs as ccrs +import cartopy.feature as cfeature +from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER +import matplotlib.ticker as mticker +import numpy as np +import colormap +import time +import sys, os, glob +import shapely.geometry +import warnings +from scipy.spatial.distance import cdist + +warnings.filterwarnings('ignore') + +############ USER INPUT ########################################################## +plot_var = "Increment" +lev = 60 # 60=sfc; 1=toa +clevmax_incr = 4.0 # max contour level for colorbar increment plots +decimals = 2 # number of decimals to round for text boxes +plot_box_width = 70. # define size of plot domain (units: lat/lon degrees) +plot_box_height = 30 + +variable = "airTemperature" +if variable == "airTemperature": + obtype = 't' + offset = -273.15 + +# FV3 Data +jgrid = "fv3_grid_spec" + +# FOR VAR +janalysis = "./fv3_dynvars" # +jbackgrnd = "Data/bkg/fv3_dynvars" +diagfile = 'diag_conv_t_ges.2024052700' + + +################################################################################### +# Set cartopy shapefile path +platform = os.getenv('HOSTNAME').upper() +if 'ORION' in platform: + cartopy.config['data_dir']='/work/noaa/fv3-cam/sdegelia/cartopy' +elif 'H' in platform: # Will need to improve this once Hercules is supported + cartopy.config['data_dir']='/home/Donald.E.Lippi/cartopy' + +nc_g = Dataset(jgrid, mode='r') +lats = nc_g.variables["grid_latt"][:,:] +lons = nc_g.variables["grid_lont"][:,:] +#lons = lons[:,:] - 180 + +# Open NETCDF4 dataset for reading +nc_a = Dataset(janalysis, mode='r') +nc_b = Dataset(jbackgrnd, mode='r') + +# Read data and get dimensions +lev = lev-1 +jedi_a = nc_a.variables["T"][0,lev,:,:].astype(np.float64) +jedi_b = nc_b.variables["T"][0,lev,:,:].astype(np.float64) + +# compute increment +jedi_inc = jedi_a - jedi_b + +if plot_var == "Increment": + title1 = "JEDI" + jedi = jedi_inc + clevmax = clevmax_incr + +# Get obs counts from GSI output file +ncd = Dataset(diagfile, 'r') +auf = ncd.variables['Analysis_Use_Flag'][:] +un, counts = np.unique(auf, return_counts=True) +nobs = counts[1] + +# CREATE PLOT ############################## +fig = plt.figure(figsize=(7,4)) +m1 = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree(central_longitude=0)) + +# Determine extent for plot domain +cen_lat = 34.5 +cen_lon = -97.5 +half = plot_box_width / 2. +left = cen_lon - half +right = cen_lon + half +half = plot_box_height / 2. +bot = cen_lat - half +top = cen_lat + half + +# Set extent for both plots +domain="single_ob" +m1.set_extent([left, right, top, bot]) + +# Add features to the subplots +#m1.add_feature(cfeature.GSHHSFeature(scale='low')) +m1.add_feature(cfeature.COASTLINE) +m1.add_feature(cfeature.BORDERS) +m1.add_feature(cfeature.STATES) +#m.add_feature(cfeature.OCEAN) +#m.add_feature(cfeature.LAND) +#m.add_feature(cfeature.LAKES) + +# Gridlines for the subplots +gl1 = m1.gridlines(crs = ccrs.PlateCarree(), draw_labels = True, linewidth = 0.5, color = 'k', alpha = 0.25, linestyle = '-') +gl1.xlocator = mticker.FixedLocator([]) +gl1.xlocator = mticker.FixedLocator(np.arange(-180., 181., 10.)) +gl1.ylocator = mticker.FixedLocator(np.arange(-80., 91., 10.)) +gl1.xformatter = LONGITUDE_FORMATTER +gl1.yformatter = LATITUDE_FORMATTER +gl1.xlabel_style = {'size': 5, 'color': 'gray'} +gl1.ylabel_style = {'size': 5, 'color': 'gray'} + + +def plot_T_inc(var_n, clevmax): + """Temperature increment/diff [K]""" + longname = "airTemperature" + units="K" + inc = 0.05*clevmax + clevs = np.arange(-1.0*clevmax, 1.0*clevmax+inc, inc) + cm = colormap.diff_colormap(clevs) + return(clevs, cm, units, longname) + +# Plot the data +if variable == "airTemperature": + clevs, cm, units, longname = plot_T_inc(jedi_inc, clevmax) + +units="K" +c1 = m1.contourf(lons, lats, jedi, clevs, cmap = cm, extend='both') + +# Add colorbar +cbar1 = fig.colorbar(c1, orientation="horizontal", fraction=0.046, pad=0.07) +cbar1.set_label(units, size=8) +cbar1.ax.tick_params(labelsize=5, rotation=30) + +# Add titles, text, and save the figure +#plt.suptitle(f"Temperature {plot_var} at Level: {lev+1}\nobtype: {longname}", fontsize = 9, y = 1.05) +#m1.set_title(f"{title1}", fontsize = 9, y = 0.98) +#subtitle1_minmax = f"min: {np.around(np.min(jedi), decimals)}\nmax: {np.around(np.max(jedi), decimals)}" +#m1.text(left, top, f"{subtitle1_minmax}", fontsize = 6, ha='left', va='bottom') +subtitle1_minmax = f"min: {np.around(np.min(jedi), decimals)}\nmax: {np.around(np.max(jedi), decimals)}" +subtitle1_minmax = f"{subtitle1_minmax}\nnobs passed: {nobs}" +m1.text(left*0.99, bot*1.01, f"{subtitle1_minmax}", fontsize = 6, ha='left', va='bottom') + +if plot_var == "Increment": + plt.tight_layout() + plt.savefig(f"./increment_{variable}_gsi.png", dpi=350, bbox_inches='tight') + +# Print some final stats +print(f"Stats:") +print(f" {title1} max: {np.around(np.max(jedi), decimals)}") +print(f" {title1} min: {np.around(np.min(jedi), decimals)}") diff --git a/rrfs-test/ush/update_ctest_inputs.sh b/rrfs-test/ush/update_ctest_inputs.sh index 2f270cbf..ad795b4b 100755 --- a/rrfs-test/ush/update_ctest_inputs.sh +++ b/rrfs-test/ush/update_ctest_inputs.sh @@ -8,8 +8,9 @@ DYCORE="BOTH" # [FV3JEDI, MPASJEDI, BOTH] # FV3-JEDI tests rrfs_fv3jedi_tests=( - "rrfs_fv3jedi_hyb_2022052619" - "rrfs_fv3jedi_letkf_2022052619" + "rrfs_fv3jedi_2024052700_Ens3Dvar" + "rrfs_fv3jedi_2024052700_getkf_observer" + "rrfs_fv3jedi_2024052700_getkf_solver" ) # MPAS-JEDI tests @@ -32,7 +33,7 @@ if [[ $DYCORE == "FV3JEDI" || $DYCORE == "BOTH" ]]; then case=${ctest} echo "Updating ${case}..." casedir=${CMAKE_CURRENT_BINARY_DIR}/rundir-${case} - src_casedir=${rrfs_test_data_local}/rrfs-data_fv3jedi_2022052619 + src_casedir=${rrfs_test_data_local}/rrfs-data_fv3jedi_2024052700 ln -snf ${src_casedir}/DataFix ${casedir}/DataFix ln -snf ${src_casedir}/Data_static ${casedir}/Data_static ln -snf ${src_casedir}/INPUT ${casedir}/INPUT diff --git a/ush/run_rrfs_tests.sh b/ush/run_rrfs_tests.sh index b73422b8..28caaa8d 100755 --- a/ush/run_rrfs_tests.sh +++ b/ush/run_rrfs_tests.sh @@ -14,5 +14,5 @@ source ${ushdir}/load_rdas.sh set -x cd ${ushdir}/../build/rrfs-test pwd -ctest -j7 # or ctest -VV for verbose outputs +ctest -j8 # or ctest -VV for verbose outputs exit $?