Skip to content

Conversation

@byoung-joo
Copy link
Collaborator

@byoung-joo byoung-joo commented Dec 17, 2025

Work in progress

Description

This PR contains various updates from release/3.0.3 branch. Below you can find a brief summary of it.

  • Adding a set of new observation-related yaml files under config/jedi/ObsPlugs
    • It is worth to mention that now bufr-converted files will be used for MHS by default, rather than ncdiag-converted files.
  • Adding no outer loop update: true under background error, which initializes the B only one time. This fixes Skip the re-initialization of B #396.
  • The hybrid weights for static and ensemble B parts can be specified either from scalar values or from files. This can be controlled with variational.hybridBECWeightFromFile key, which has a default value as False. With this, config/jedi/applications/3dhybrid-allsky.yaml can be removed, which is essentially the same as config/jedi/applications/3dhybrid.yaml.
  • For the BUMP VertcalBalance, now the "global" vbal/sampling files will be used, instead of "local" files. There is no change in the result & runtime.
  • Adding new default meshes; 15 km and 15-3 km (many yamls under scenarios/defaults/ directory)
  • Adding the 30 km static B, 60 km LGETKF ensemble perturbation, 30 km LGETKF ensemble perturbation (see scenarios/defaults/variational.yaml)
  • Adding a set of scenarios, especially with a higher resolution or rttov-related ones.
  • While release/3.0.3 uses the crtm v2.4.x, this PR keeps the crtm v3 (as in current develop). Only updating the path for CRTMTABLES as /glade/campaign/mmm/parc/jban/pandac_common/crtm_coeffs_v3/, which also contains the coefficients files for active sensors.

junmeiban and others added 30 commits October 16, 2024 14:46
### Description

This PR updates data path for 30km externalanalyses for scenarios/3dhybrid-allsky_O30kmIE60km_SpecifiedEnsemble_VarBC.yaml .

Files modified:
scenarios/3dhybrid-allsky_O30kmIE60km_SpecifiedEnsemble_VarBC.yaml

### Tests completed
#### Tier 1:
 - [x] 3dhybrid-allsky_O30kmIE60km_SpecifiedEnsemble_VarBC
### Description
This PR adds changes for assimilating GNSSRO bending angle (ROPP1D and MetOffice operators) with the NRL observation error. Previous error parameters using the Desroziers et al 2005 method are commented out for reference. Here, the built code is also updated to account for recent changes in mpas-jedi to pass geometric height as geopotential height for bending angle forward simulations. 

In addition, the `ObsSpaceV2-to-V3.yaml` file and scenario `3denvar_O30kmIE60km_WarmStart.yaml` are updated.

### Tests completed
#### Tier 1:
 - [x] 3dvar_OIE120km_WarmStart
 - [x] 3denvar_OIE120km_IAU_WarmStart
 - [x] 3dvar_OIE120km_ColdStart
 - [x] 3dvar_O30kmIE60km_ColdStart
 - [x] 3denvar_O30kmIE60km_WarmStart
 - [x] eda_OIE120km_WarmStart
 - [x] getkf_OIE120km_WarmStart
 - [x] ForecastFromGFSAnalysesMPT

#### Tier 2:
 - [x] 3denvar_O30kmIE60km_WarmStart (under scenario folder)
…#333)

### Description
After looking at Jim's weekly results today I realized I forgot to remove configurations for my experiment with allsky AMSUA that I had added in my local branch. This branch should not include these changes at this point and therefore this PR accomplishes that. By having allsky AMSUA in the benchmark, results from develop will produce degradation/improvements in some regions (corresponding to improvements/degradation when adding these obs), as shown in Jim's results.

### Issue closed
None
predictor along with other predictors, for channels 8-10 and channel 13
#343)

This PR adds MHS clear-sky assimilation using raw observations to replace the ncdiag files.

- Use BennartzScatIndex check:
   References: Bennartz, R., A. Thoss, A. Dybbroe, and D. B. Michelson, 2002: Precipitation analysis using the 
  AdvancedMicrowave Sounding Unit in support of nowcasting applications. Meteorol. Appl., 9,177–189, 
  doi:10.1017/S1350482702002037.
- Assimilate MHS Channel 5 within the range of 60S to 60N degrees.
- Turn off MHS N19 Channel 3 due to poor quality.

- Modified files:
config/jedi/ObsPlugs/da/base/mhs_metop-a.yaml
config/jedi/ObsPlugs/da/base/mhs_metop-b.yaml
config/jedi/ObsPlugs/da/base/mhs_n18.yaml
config/jedi/ObsPlugs/da/base/mhs_n19.yaml
config/jedi/ObsPlugs/da/bias/mhs_metop-a.yaml
config/jedi/ObsPlugs/da/bias/mhs_metop-b.yaml
config/jedi/ObsPlugs/da/bias/mhs_n18.yaml
config/jedi/ObsPlugs/da/bias/mhs_n19.yaml
config/jedi/ObsPlugs/da/filtersWithBias/mhs_metop-a.yaml
config/jedi/ObsPlugs/da/filtersWithBias/mhs_metop-b.yaml
config/jedi/ObsPlugs/da/filtersWithBias/mhs_n18.yaml
config/jedi/ObsPlugs/da/filtersWithBias/mhs_n19.yaml
scenarios/3dhybrid_O30kmIE60km_SpecifiedEnsemble_VarBC.yaml
scenarios/defaults/observations.yaml

- Tests completed
 3dhybrid_O30kmIE60km (conducted month-long cycling DA)
 3denvar_OIE120km_WarmStart_VarBC (ran two cycles)
Description
Add 'reduce obs spcace' function to the thinning section to reduce memory usage.
With this function, those observations removed by thinning will not come to memory and will not be in the obsout_da files.
### Description

I realized that last week I accidentally merged local changes into this branch. The changes are related to ABI/AHI data assimilation then I don't think it affects anybody's runs so far but these changes are not ready to be in this branch yet. I rebased the branch by deleting that specific commit (262d045). I apologize for the confusion.
…s from default list in forecast post (#350)

## Description

Similar to PR [345](#345) to remove all jobs specification for the `forecast` entry in the scenario YAML files under the `scenarios` folder and `verifyobs` from the default list in the `post` for forecast. It also removes two scenarios: for abiahi and amsua, that were merged by mistake before.
### Description
Previous PR [348](#348) didn't work. Restoring abi/ahi settings and removing additional yamls here.
* Enforce usage of internal error table for prepbufr files

* Clean up specification of obs2ioda build
### Description
This PR is analogous to [PR#368](#368) to update the build path to support the new [obs2ioda_v3 ](https://github.com/NCAR/obs2ioda) code (by Andy Stokely) and modify the `ObsToIODA.csh` script to account for the same.

### Tests completed
#### Tier 2:
 - [x] GenerateObs
  with changes related to VarBC/Harnisch-error model and rttov14
	modified:   initialize/data/Observations.py
	modified:   initialize/framework/Build.py
	new file:   config/jedi/ObsPlugs/da/bias/amsua-cld_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-cld_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-cld_metop-c.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-cld_n15.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-cld_n18.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-cld_n19.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_metop-c.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_n15.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_n18.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_n19.yaml
	new file:   tools/update_analysis_states.py
dual-res. mesh
	new file:   scenarios/3denvar_O15kmI30km_AllSky.yaml
	new file:   scenarios/3denvar_O15kmI30km_SpecifiedEnsemble_VarBC.yaml
	new file:   scenarios/3dhybrid_O15-3kmI30km_SpecifiedEnsemble_VarBC.yaml
	new file:   scenarios/3dhybrid_O15-3kmI30km_SpecifiedEnsemble_VarBC_New.yaml
	new file:   scenarios/3dhybrid_O15kmI30km_SpecifiedEnsemble_VarBC.yaml
	new file:   scenarios/3dhybrid_O15kmI30km_SpecifiedEnsemble_VarBC_New.yaml
	new file:   scenarios/3dhybrid_O15kmI60km_SpecifiedEnsemble_VarBC_New.yaml
	new file:   scenarios/3dhybrid_OIE30km_SpecifiedEnsemble_VarBC.yaml
	new file:   scenarios/4dhybrid_O15kmI30km_SpecifiedEnsemble_VarBC_New.yaml
	new file:   scenarios/4dhybrid_O15kmI60km_SpecifiedEnsemble_VarBC_New.yaml
	new file:   scenarios/GenerateGFSAnalyses_15km.yaml
	new file:   scenarios/GenerateGFSAnalyses_15km3km.yaml
	modified:   config/jedi/ObsPlugs/enkf/ObsAnchors.yaml
	modified:   config/jedi/applications/3dhybrid-allsky.yaml
	modified:   config/jedi/applications/3dhybrid.yaml
	new file:   config/jedi/applications/3dhybrid_v3.yaml
	new file:   config/jedi/applications/4dhybrid_v3.yaml
	modified:   scenarios/defaults/enkf.yaml
	modified:   scenarios/defaults/externalanalyses.yaml
	modified:   scenarios/defaults/firstbackground.yaml
	modified:   scenarios/defaults/forecast.yaml
	modified:   scenarios/defaults/initic.yaml
	modified:   scenarios/defaults/model.yaml
	modified:   scenarios/defaults/variational.yaml
	modified:   bin/PrepJEDI.csh
	modified:   bin/Variational.csh # use 'mpiexec -N' instead of
'mpiexec'
	modified:   initialize/applications/Variational.py
	modified:   initialize/data/Model.py
	modified:   initialize/framework/HPC.py
scenarios/3dhybrid-allsky_O15kmI30km_SpecifiedEnsemble_VarBC_New.yaml
bin/PrepJEDI.csh
scenarios/defaults/variational.yaml
	modified:   bin/PrepJEDI.csh
	new file:   config/jedi/ObsPlugs/da/base/amsua-all_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/base/amsua-all_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/base/amsua-all_n15.yaml
	new file:   config/jedi/ObsPlugs/da/base/amsua-all_n18.yaml
	new file:   config/jedi/ObsPlugs/da/base/amsua-all_n19.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-all_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-all_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-all_n15.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-all_n18.yaml
	new file:   config/jedi/ObsPlugs/da/bias/amsua-all_n19.yaml
	new file:   config/jedi/ObsPlugs/da/filters/amsua-all_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/filters/amsua-all_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/filters/amsua-all_n15.yaml
	new file:   config/jedi/ObsPlugs/da/filters/amsua-all_n18.yaml
	new file:   config/jedi/ObsPlugs/da/filters/amsua-all_n19.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-all_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-all_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-all_n15.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-all_n18.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-all_n19.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/amsua-all_n19.yaml_cold-air-outbreak
	new file:   scenarios/1_3dhyb_asr-ama_csr-mhs.yaml
	modified:   scenarios/defaults/observations.yaml
	new file:   config/jedi/ObsPlugs/da/base/mhs-cld_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/base/mhs-cld_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/base/mhs-cld_n18.yaml
	new file:   config/jedi/ObsPlugs/da/base/mhs-cld_n19.yaml
	new file:   config/jedi/ObsPlugs/da/bias/mhs-cld_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/bias/mhs-cld_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/bias/mhs-cld_n18.yaml
	new file:   config/jedi/ObsPlugs/da/bias/mhs-cld_n19.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/mhs-cld_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/mhs-cld_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/mhs-cld_n18.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/mhs-cld_n19.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_metop-a.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_metop-b.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_n18.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_n19.yaml
	new file:   scenarios/2_3dhyb_asr-ama_asr-mhs.yaml
	modified:   scenarios/defaults/observations.yaml
liujake and others added 14 commits August 29, 2025 16:29
	modified:   config/jedi/ObsPlugs/da/base/mhs_n19_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/amsua_aqua_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/amsua_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/amsua_metop-b_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/amsua_n15_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/amsua_n18_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/amsua_n19_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/iasi_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/mhs_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/mhs_metop-b_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/mhs_n18_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/bias/mhs_n19_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/base/iasi_metop-a.yaml_88ch
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/base/iasi_metop-b.yaml_88ch
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-a.yaml_88ch
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-b.yaml_88ch
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasi.yaml
	modified:   scenarios/defaults/firstbackground.yaml
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasi.yaml
	modified:   scenarios/3_3dhyb_asrama_asrmhs_atms.yaml
	modified:   scenarios/4_4dhyb_asrama_asrmhs_atms_iasi.yaml
	modified:   scenarios/6_3dhyb_csrama_csrmhs_iasi_rttovcpp.yaml
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/base/iasi_metop-a.yaml_66ch
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/base/iasi_metop-b.yaml_66ch
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-a.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-a.yaml_66ch
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-b.yaml
	new file:   config/jedi/ObsPlugs/da/filtersWithBias/iasi_metop-b.yaml_66ch
	new file:   scenarios/3_3dhyb_asrama_asrmhs_atms_UpdateVarBC.yaml
	new file:   scenarios/3_4dhyb_asrama_asrmhs_atms.yaml
	new file:   scenarios/3_4dhyb_asrama_asrmhs_atms_UpdateVarBC.yaml
	new file:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasiQCmore.yaml
 Conflicts:
	bin/GetObs.csh
	bin/ObsToIODA.csh
	bin/Variational.csh
	build/CMakeLists.txt
	config/jedi/ObsPlugs/da/bias/amsua-cld_metop-a.yaml
	config/jedi/ObsPlugs/da/bias/amsua-cld_metop-b.yaml
	config/jedi/ObsPlugs/da/bias/amsua-cld_n15.yaml
	config/jedi/ObsPlugs/da/bias/amsua-cld_n18.yaml
	config/jedi/ObsPlugs/da/bias/amsua-cld_n19.yaml
	config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_metop-a.yaml
	config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_metop-b.yaml
	config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_n15.yaml
	config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_n18.yaml
	config/jedi/ObsPlugs/da/filtersWithBias/amsua-cld_n19.yaml
	config/jedi/ObsPlugs/enkf/ObsAnchors.yaml
	config/mpas/variables.csh
	initialize/applications/EnKF.py
	initialize/framework/Build.py
	initialize/framework/HPC.py
	initialize/post/VerifyModel.py
	initialize/post/VerifyObs.py
	initialize/suites/GenerateExternalAnalyses.py
	scenarios/defaults/forecast.yaml
	scenarios/defaults/variational.yaml
	test/testinput/ForecastFromGFSAnalysesMPT.yaml
	modified:   scenarios/defaults/variational.yaml
	modified:   bin/PrepJEDI.csh
	modified:   config/jedi/applications/3dhybrid-allsky.yaml
	modified:   config/jedi/applications/3dhybrid.yaml
	modified:   config/jedi/applications/3dvar.yaml
	modified:   bin/GetGDASAnalysisFromFTP.csh
	modified:   bin/GetGFSAnalysisFromFTP.csh
	modified:   bin/GetObs.csh
	modified:   bin/PrepJEDI.csh
@byoung-joo
Copy link
Collaborator Author

byoung-joo commented Dec 17, 2025

Hi @liujake, I have two questions below.

  1. From the discussion with Junmei, amsua-all_metop-a.yaml and other amsua-all_*.yaml files, which define both the sounding and imaging channels of AMSU-A, are not used in the scientific experiment scenarios. Do we still want to keep the corresponding code/changes and merge into develop ?

  2. Due to the automatic data compression on Campaign storage, the observation files are copied to Scratch. We can live with observation files on Scratch in a short term. Do we want to keep those on Campaign or on Scratch (i.e., scenarios/defaults/observations.yaml)?

…paign

	modified:   initialize/data/Observations.py
	modified:   scenarios/0_3dhyb_csrama_csrmhs.yaml
	modified:   scenarios/0_3dhyb_csrama_csrmhs_rttovcpp.yaml
	modified:   scenarios/1_3dhyb_asrama_csrmhs.yaml
	modified:   scenarios/2_3dhyb_asrama_asrmhs.yaml
	modified:   scenarios/3_3dhyb_asrama_asrmhs_atms.yaml
	modified:   scenarios/3_3dhyb_asrama_asrmhs_atms_UpdateVarBC.yaml
	modified:   scenarios/3_4dhyb_asrama_asrmhs_atms.yaml
	modified:   scenarios/3_4dhyb_asrama_asrmhs_atms_UpdateVarBC.yaml
	modified:   scenarios/3dhybrid-allsky_O15kmI30km_SpecifiedEnsemble_VarBC_New.yaml
	modified:   scenarios/3dhybrid_O30kmIE60km_SpecifiedEnsemble_VarBC_allConfig.yaml
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasi.yaml
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasiQCmore.yaml
	modified:   scenarios/4_4dhyb_asrama_asrmhs_atms_iasi.yaml
	renamed:    scenarios/5_3denvar120km_csrama_csrmhs_crtm241.yaml -> scenarios/5_3denvar120km_csrama_csrmhs_crtm3.yaml
	modified:   scenarios/5_3denvar120km_csrama_csrmhs_rttov14.yaml
	modified:   scenarios/6_3dhyb_csrama_csrmhs_iasi_rttovcpp.yaml
	modified:   scenarios/6_3dhyb_csrama_csrmhs_rttov12.yaml
are revised accordingly. One duplicated scenario was deleted.

	deleted:    config/jedi/applications/3dhybrid-allsky.yaml
	deleted:    config/jedi/applications/3dhybrid_v3.yaml
	modified:   initialize/applications/Variational.py
	modified:   scenarios/0_3dhyb_csrama_csrmhs.yaml
	modified:   scenarios/0_3dhyb_csrama_csrmhs_rttovcpp.yaml
	modified:   scenarios/1_3dhyb_asrama_csrmhs.yaml
	modified:   scenarios/2_3dhyb_asrama_asrmhs.yaml
	modified:   scenarios/3_3dhyb_asrama_asrmhs_atms.yaml
	modified:   scenarios/3_3dhyb_asrama_asrmhs_atms_UpdateVarBC.yaml
	deleted:    scenarios/3dhybrid-allsky_O30kmIE60km_SpecifiedEnsemble_VarBC.yaml
	modified:   scenarios/3dhybrid_O15-3kmI30km_SpecifiedEnsemble_VarBC_New.yaml
	renamed:    scenarios/3dhybrid-allsky_O15kmI30km_SpecifiedEnsemble_VarBC_New.yaml -> scenarios/3dhybrid_O15kmI30km_SpecifiedEnsemble_VarBC_AMSUA_ALLSKY.yaml
	renamed:    scenarios/3dhybrid-allsky_O30kmIE60km_SpecifiedEnsemble_VarBC_AMSUA.yaml -> scenarios/3dhybrid_O30kmIE60km_SpecifiedEnsemble_VarBC_AMSUA_ALLSKY.yaml
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasi.yaml
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasiQCmore.yaml
	modified:   scenarios/5_3denvar120km_csrama_csrmhs_crtm3.yaml
	modified:   scenarios/5_3denvar120km_csrama_csrmhs_rttov14.yaml
	modified:   scenarios/6_3dhyb_csrama_csrmhs_iasi_rttovcpp.yaml
	modified:   scenarios/6_3dhyb_csrama_csrmhs_rttov12.yaml
	modified:   scenarios/defaults/variational.yaml
configuration (i.e., scenarios/defaults/variational.yaml).

	modified:   scenarios/0_3dhyb_csrama_csrmhs.yaml
	modified:   scenarios/0_3dhyb_csrama_csrmhs_rttovcpp.yaml
	modified:   scenarios/1_3dhyb_asrama_csrmhs.yaml
	modified:   scenarios/2_3dhyb_asrama_asrmhs.yaml
	modified:   scenarios/3_3dhyb_asrama_asrmhs_atms.yaml
	modified:   scenarios/3_3dhyb_asrama_asrmhs_atms_UpdateVarBC.yaml
	modified:   scenarios/3_4dhyb_asrama_asrmhs_atms.yaml
	modified:   scenarios/3_4dhyb_asrama_asrmhs_atms_UpdateVarBC.yaml
	modified:   scenarios/3denvar_O15kmI30km_AllSky.yaml
	modified:   scenarios/3denvar_O15kmI30km_SpecifiedEnsemble_VarBC.yaml
	modified:   scenarios/3dhybrid_O15-3kmI30km_SpecifiedEnsemble_VarBC.yaml
	modified:   scenarios/3dhybrid_O15-3kmI30km_SpecifiedEnsemble_VarBC_New.yaml
	modified:   scenarios/3dhybrid_O15kmI30km_SpecifiedEnsemble_VarBC.yaml
	modified:   scenarios/3dhybrid_O15kmI30km_SpecifiedEnsemble_VarBC_AMSUA_ALLSKY.yaml
	modified:   scenarios/3dhybrid_O30kmIE60km_SpecifiedEnsemble_VarBC_allConfig.yaml
	modified:   scenarios/3dhybrid_OIE30km_SpecifiedEnsemble_VarBC.yaml
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasi.yaml
	modified:   scenarios/4_3dhyb_asrama_asrmhs_atms_iasiQCmore.yaml
	modified:   scenarios/4_4dhyb_asrama_asrmhs_atms_iasi.yaml
	modified:   scenarios/4dhybrid_O15kmI30km_SpecifiedEnsemble_VarBC_New.yaml
	modified:   scenarios/6_3dhyb_csrama_csrmhs_iasi_rttovcpp.yaml
	modified:   scenarios/6_3dhyb_csrama_csrmhs_rttov12.yaml
@liujake
Copy link
Collaborator

liujake commented Dec 17, 2025

Hi @liujake, I have two questions below.

  1. From the discussion with Junmei, amsua-all_metop-a.yaml and other amsua-all_*.yaml files, which define both the sounding and imaging channels of AMSU-A, are not used in the scientific experiment scenarios. Do we still want to keep the corresponding code/changes and merge into develop ?
  2. Due to the automatic data compression on Campaign storage, the observation files are copied to Scratch. We can live with observation files on Scratch in a short term. Do we want to keep those on Campaign or on Scratch (i.e., scenarios/defaults/observations.yaml)?

Yes. Those yamls not used, but I think we can keep them for potential further investigation in the future. And I think some yaml files under 'filters' can be removed as we mostly use 'filtersWithBias'. For now, let us still point obs and other input datasets on Scratch to ease our testing later.

@byoung-joo
Copy link
Collaborator Author

Yes. Those yamls not used, but I think we can keep them for potential further investigation in the future. And I think some yaml files under 'filters' can be removed as we mostly use 'filtersWithBias'. For now, let us still point obs and other input datasets on Scratch to ease our testing later.

Sounds good! I will proceed and test one of the scientific scenario yamls soon!

0_3dhyb_csrama_csrmhs_rttovcpp.yaml for initial testing

	modified:   0_3dhyb_csrama_csrmhs.yaml
	modified:   0_3dhyb_csrama_csrmhs_rttovcpp.yaml
@byoung-joo
Copy link
Collaborator Author

Please see my first test below.

  • With this draft PR, I have run 0_3dhyb_csrama_csrmhs.yaml scenario for the 1st cycle. You can find the working directory in /glade/derecho/scratch/bjung/pandac/bjung_0_3dhyb_csrama_csrmhs/CyclingDA/2018041500 .
Runtime:   1083.92 sec,  Memory: total:  1136.96 Gb, per task: min =     2.18 Gb, max =     7.26 Gb
  • This configuration is consistent with
    /glade/derecho/scratch/jban/pandac/jban_0_3dhyb_csrama_csrmhs/CyclingDA/2018041500 (of release/3.0.3).
Runtime:   1053.95 sec,  Memory: total:  1290.73 Gb, per task: min =     2.45 Gb, max =     7.59 Gb
  • The runtime is similar. Current PR seems to require slightly lesser memory.
  • The CostJo term and norm reduction look similar in general.

 Conflicts:
	config/jedi/applications/3dhybrid-allsky.yaml
	config/jedi/applications/3dhybrid.yaml
	config/jedi/applications/3dvar.yaml
	config/jedi/applications/4dhybrid.yaml
	scenarios/defaults/variational.yaml
@byoung-joo
Copy link
Collaborator Author

Hi @junmeiban,

In the bias correction predictor, emissivityJacobian is used for clear-sky AMSU-A, while it is not used for cloudy AMSU-A channels. I'd like to check if this configuration is correct.

@juhyejuhye,
emissivityJacobian predictor is not used for RTTOV, perhaps it is not available from RTTOV. Is my understanding correct ?

	modified:   config/jedi/applications/3denvar.yaml
@junmeiban
Copy link
Collaborator

Hi @junmeiban,

In the bias correction predictor, emissivityJacobian is used for clear-sky AMSU-A, while it is not used for cloudy AMSU-A channels. I'd like to check if this configuration is correct.

@juhyejuhye, emissivityJacobian predictor is not used for RTTOV, perhaps it is not available from RTTOV. Is my understanding correct ?

@byoung-joo , Yes. We turn the emissJacobian predictor off because it is applied over land (see https://github.com/JCSDA-internal/ufo/blob/56fabf58044b0593599600e599683c5d075a7cbc/src/ufo/predictors/Emissivity.cc#L61 and also line 55)), while cloudy AMSU-A (for window channels) is conducted over water only. @liujake made a commit note here: 4deb438

@byoung-joo
Copy link
Collaborator Author

Thanks, @junmeiban.

@byoung-joo
Copy link
Collaborator Author

This PR is almost ready for review.
@juhyejuhye will push some rttov-related modification to this branch.

juhyejuhye and others added 2 commits December 22, 2025 12:14
…nges in the develop branch

1. Remove "get values:" in rttov yamal files in base directory
2. Change variable name from " brightness_temperature_jacobian_surface_temperature" to " brightness_temperature_jacobian_skin_temperature_at_surface" in rttov yamal files in filtersWithBias directory

 On branch feature/release3.0.3_merging_develop
 Changes to be committed:
	modified:   config/jedi/ObsPlugs/da/base/amsua_aqua_rttov.yaml
 	modified:   config/jedi/ObsPlugs/da/base/amsua_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua_metop-b_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua_n15_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua_n18_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua_n19_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs_metop-b_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs_n18_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs_n19_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/amsua_aqua_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/amsua_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/amsua_metop-b_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/amsua_n15_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/amsua_n18_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/amsua_n19_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_metop-b_rttov.yaml
 	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_n18_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/filtersWithBias/mhs_n19_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua-all_metop-a.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua-all_metop-b.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua-all_n15.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua-all_n18.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua-all_n19.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua-cld_metop-c.yaml
	modified:   config/jedi/ObsPlugs/da/base/amsua_n18_rttov12.yaml
	modified:   config/jedi/ObsPlugs/da/base/atms_n20.yaml
	modified:   config/jedi/ObsPlugs/da/base/atms_n21.yaml
	modified:   config/jedi/ObsPlugs/da/base/atms_npp.yaml
	modified:   config/jedi/ObsPlugs/da/base/cris-fsr_n20.yaml
	modified:   config/jedi/ObsPlugs/da/base/cris-fsr_n21.yaml
	modified:   config/jedi/ObsPlugs/da/base/cris-fsr_npp.yaml
	modified:   config/jedi/ObsPlugs/da/base/cris_n20.yaml
	modified:   config/jedi/ObsPlugs/da/base/cris_npp.yaml
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-a.yaml_66ch
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-a.yaml_88ch
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-a_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-b.yaml_66ch
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-b.yaml_88ch
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-b_rttov.yaml
	modified:   config/jedi/ObsPlugs/da/base/iasi_metop-c.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs-cld_metop-a.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs-cld_metop-b.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs-cld_metop-c.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs-cld_n18.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs-cld_n19.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs_metop-c.yaml
	modified:   config/jedi/ObsPlugs/da/base/mhs_n18_rttov12.yaml
	modified:   config/jedi/ObsPlugs/hofx/base/cris-fsr_n20.yaml
	modified:   config/jedi/ObsPlugs/hofx/base/cris-fsr_n21.yaml
	modified:   config/jedi/ObsPlugs/hofx/base/cris-fsr_npp.yaml
	modified:   config/jedi/ObsPlugs/hofx/base/cris_n20.yaml
	modified:   config/jedi/ObsPlugs/hofx/base/cris_npp.yaml
	modified:   config/jedi/ObsPlugs/hofx/base/mhs_metop-c.yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Skip the re-initialization of B