Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug fix for radar_rf_opt=2 #1642

Merged
merged 1 commit into from
Jan 17, 2022
Merged

Conversation

liujake
Copy link
Contributor

@liujake liujake commented Jan 16, 2022

Bug fix for direct assimilation of radar reflectivity (radar_rf_opt=2)

TYPE: bug fix

KEYWORDS: reflectivity operator, quality control

SOURCE: Zhiquan (Jake) Liu (NCAR/MMM)

DESCRIPTION OF CHANGES:
Problem:
The namelist parameter "qthres", which is used for hydrometeor base state of TL/AD for no-rain background, should not be used in reflectivity forward operator. QC for radar_rf_opt=2 should not be confused with that of retrieval radar DA.

Solution:

  1. Remove the use of "qthres" in forward operator.
  2. Simplify QC to keep obs with both observed and background reflectivity >=rfmin (a namelist parameter).

LIST OF MODIFIED FILES:
M var/da/da_radar/da_get_innov_vector_radar.inc
M var/da/da_radar/da_radzicevar.inc
M var/da/da_radar/da_radzicevar_upper_f.inc
M var/da/da_radar/da_transform_xtoy_radar.inc
M var/da/da_radar/da_transform_xtoy_radar_adj.inc
M var/da/da_setup_structures/da_setup_obs_structures_radar.inc
M var/da/da_setup_structures/da_setup_structures.f90

TESTS CONDUCTED:

  1. WFRDA Regtest passed.
  2. Qualified yes. The parallel netcdf4 mods introduced an error in DA that was not caught.

RELEASE NOTE: Bug fix for direct assimilation of radar reflectivity.

	modified:   var/da/da_radar/da_get_innov_vector_radar.inc
	modified:   var/da/da_radar/da_radzicevar.inc
	modified:   var/da/da_radar/da_radzicevar_upper_f.inc
	modified:   var/da/da_radar/da_transform_xtoy_radar.inc
	modified:   var/da/da_radar/da_transform_xtoy_radar_adj.inc
	modified:   var/da/da_setup_structures/da_setup_obs_structures_radar.inc
	modified:   var/da/da_setup_structures/da_setup_structures.f90
@davegill davegill merged commit 16c9287 into wrf-model:develop Jan 17, 2022
davegill added a commit that referenced this pull request Jan 24, 2022
TYPE: bug fix

KEYWORDS: netcdfpar, Error

SOURCE: internal

DESCRIPTION OF CHANGES:
IMPORTANT: Without these mods, every commit since the parallel netcdf4 IO mods will fail the DA
build test in the regression test. For example, at least these commits:
```
fed10f4 Adding the WRF-Solar EPS model (#1547)
0bda5e0 Fix 4dvar build failure after commit 8b5bfe5 (#1652)
8b5bfe5 Thompson AA enhancements: BC aerosol, biomass burning emissions, and … (#1616)
9dc68ca After testing with UFS/GFS/FV-3, some tuning knob changes to Thompson-MP and icloud3 (cloud fraction) scheme (#1626)
96fd889 Update HONO, TERP, and CO2 emissions (#1644)
64fb190 SFCLAY=1, add shallow water roughness calculation (#1543)
609c2fc New module firebrand_spotting for WRF-Fire (#1540)
75bfe6d MYNN PBL clouds in photolysis option 4 (TUV) (#1622)
f8c4b13 Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0 (#1638)
b511c70 Run-time option for climate GHG for radiation (#1625)
8194c66 Bug fix for configuration option INTEL:HSW/BDW (#1645)
16c9287  bug fixes for radar_rf_opt=2 (#1642)
a82ce24 Sync with NoahMP Github version with all NoahMP updates since v4.3 (#1641)
7b642cc Bug fix for TAMDAR T VarBC (#1632)
92fd706 fix WRFDA build for Parallel netcdf-4 IO (#1634)
```
Problem:
With PR #1552 "Parallel netcdf-4 IO option" (SHA1 3cd4713), when then code was built without
the new parallel NetCDF4 compression, the build log had an `Error`. 
```
> grep Error compile.log
Fatal Error: Cannot open module file ‘wrf_data_ncpar.mod’ for reading at (1): No such file or directory
make[2]: [diffwrf] Error 1 (ignored)
make[2]: [diffwrf] Error 1 (ignored)
wrf_io.f:117: Error: Can't open included file 'mpif.h'
make[2]: [wrf_io.o] Error 1 (ignored)
Fatal Error: Cannot open module file ‘wrf_data_ncpar.mod’ for reading at (1): No such file or directory
make[2]: [field_routines.o] Error 1 (ignored)
make[2]: [libwrfio_nfpar.a] Error 127 (ignored)
make[2]: [libwrfio_nfpar.a] Error 1 (ignored)
```
The problem was related to constructing the object files in the io_netcdfpar directory. When the 
option is not selected at compile time, then we do not care about errors in the directory that will 
never be used.

Solution:
If the NETCDFPAR option is not selected at compile time, then SKIP going into the io_netcdfpar
directory all together.

LIST OF MODIFIED FILES:
m Makefile
m arch/Config.pl
m arch/configure.defaults
m configure

TESTS CONDUCTED:
1. Without the NETCDFPAR parameter set, the build for the io_netcdfpar directory is bypassed:
```
          cd ../io_netcdfpar ; \
          echo SKIPPING make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.7.3/gnu/9.1.0" \

          cd ../io_netcdfpar ; \
          echo SKIPPING make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.7.3/gnu/9.1.0" \
```

2. When the NETCDFPAR env variable is set, the build includes the io_netcdfpar directory:
          cd ../io_netcdfpar ; \
           make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.8.0/gnu/9.1.0" \

          cd ../io_netcdfpar ; \
           make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.8.0/gnu/9.1.0" \
```

3. Jenkins tests are all PASS.
@thomasuhoh
Copy link

According to the publication of Jung et al. (2008), the parameter rn0_g should be 4.e4 instead of 4.e6.

@liujake liujake deleted the radar_bugfix branch April 11, 2022 15:55
vlakshmanan-scala pushed a commit to scala-computing/WRF that referenced this pull request Apr 4, 2024
Bug fix for direct assimilation of radar reflectivity (radar_rf_opt=2)

TYPE: bug fix

KEYWORDS: reflectivity operator, quality control 

SOURCE: Zhiquan (Jake) Liu (NCAR/MMM)

DESCRIPTION OF CHANGES:
Problem:
The namelist parameter "qthres", which is used for hydrometeor base state of TL/AD for no-rain 
background, should not be used in reflectivity forward operator. QC for radar_rf_opt=2 should not 
be confused with that of retrieval radar DA.

Solution:
1. Remove the use of "qthres" in forward operator.
2. Simplify QC to keep obs with both observed and background reflectivity >=rfmin (a namelist parameter).

LIST OF MODIFIED FILES:
M       var/da/da_radar/da_get_innov_vector_radar.inc
M       var/da/da_radar/da_radzicevar.inc
M       var/da/da_radar/da_radzicevar_upper_f.inc
M       var/da/da_radar/da_transform_xtoy_radar.inc
M       var/da/da_radar/da_transform_xtoy_radar_adj.inc
M       var/da/da_setup_structures/da_setup_obs_structures_radar.inc
M       var/da/da_setup_structures/da_setup_structures.f90

TESTS CONDUCTED: 
1. WFRDA Regtest passed.
2. Qualified yes. The parallel netcdf4 mods introduced an error in DA to the develop branch that was not 
caught.

RELEASE NOTE: Bug fixes for direct assimilation of radar reflectivity. The namelist parameter "qthres", which is used for hydrometeor base state of TL/AD for no-rain background, should not be used in reflectivity forward operator. QC for radar_rf_opt=2 should not be confused with that of retrieval radar DA.
vlakshmanan-scala pushed a commit to scala-computing/WRF that referenced this pull request Apr 4, 2024
TYPE: bug fix

KEYWORDS: netcdfpar, Error

SOURCE: internal

DESCRIPTION OF CHANGES:
IMPORTANT: Without these mods, every commit since the parallel netcdf4 IO mods will fail the DA
build test in the regression test. For example, at least these commits:
```
fed10f4 Adding the WRF-Solar EPS model (wrf-model#1547)
0bda5e0 Fix 4dvar build failure after commit 8b5bfe5 (wrf-model#1652)
8b5bfe5 Thompson AA enhancements: BC aerosol, biomass burning emissions, and … (wrf-model#1616)
9dc68ca After testing with UFS/GFS/FV-3, some tuning knob changes to Thompson-MP and icloud3 (cloud fraction) scheme (wrf-model#1626)
96fd889 Update HONO, TERP, and CO2 emissions (wrf-model#1644)
64fb190 SFCLAY=1, add shallow water roughness calculation (wrf-model#1543)
609c2fc New module firebrand_spotting for WRF-Fire (wrf-model#1540)
75bfe6d MYNN PBL clouds in photolysis option 4 (TUV) (wrf-model#1622)
f8c4b13 Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0 (wrf-model#1638)
b511c70 Run-time option for climate GHG for radiation (wrf-model#1625)
8194c66 Bug fix for configuration option INTEL:HSW/BDW (wrf-model#1645)
16c9287  bug fixes for radar_rf_opt=2 (wrf-model#1642)
a82ce24 Sync with NoahMP Github version with all NoahMP updates since v4.3 (wrf-model#1641)
7b642cc Bug fix for TAMDAR T VarBC (wrf-model#1632)
92fd706 fix WRFDA build for Parallel netcdf-4 IO (wrf-model#1634)
```
Problem:
With PR wrf-model#1552 "Parallel netcdf-4 IO option" (SHA1 3cd4713), when then code was built without
the new parallel NetCDF4 compression, the build log had an `Error`. 
```
> grep Error compile.log
Fatal Error: Cannot open module file ‘wrf_data_ncpar.mod’ for reading at (1): No such file or directory
make[2]: [diffwrf] Error 1 (ignored)
make[2]: [diffwrf] Error 1 (ignored)
wrf_io.f:117: Error: Can't open included file 'mpif.h'
make[2]: [wrf_io.o] Error 1 (ignored)
Fatal Error: Cannot open module file ‘wrf_data_ncpar.mod’ for reading at (1): No such file or directory
make[2]: [field_routines.o] Error 1 (ignored)
make[2]: [libwrfio_nfpar.a] Error 127 (ignored)
make[2]: [libwrfio_nfpar.a] Error 1 (ignored)
```
The problem was related to constructing the object files in the io_netcdfpar directory. When the 
option is not selected at compile time, then we do not care about errors in the directory that will 
never be used.

Solution:
If the NETCDFPAR option is not selected at compile time, then SKIP going into the io_netcdfpar
directory all together.

LIST OF MODIFIED FILES:
m Makefile
m arch/Config.pl
m arch/configure.defaults
m configure

TESTS CONDUCTED:
1. Without the NETCDFPAR parameter set, the build for the io_netcdfpar directory is bypassed:
```
          cd ../io_netcdfpar ; \
          echo SKIPPING make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.7.3/gnu/9.1.0" \

          cd ../io_netcdfpar ; \
          echo SKIPPING make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.7.3/gnu/9.1.0" \
```

2. When the NETCDFPAR env variable is set, the build includes the io_netcdfpar directory:
          cd ../io_netcdfpar ; \
           make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.8.0/gnu/9.1.0" \

          cd ../io_netcdfpar ; \
           make -i -r NETCDFPARPATH="/glade/u/apps/ch/opt/netcdf/4.8.0/gnu/9.1.0" \
```

3. Jenkins tests are all PASS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants