Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0#1638
Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0#1638davegill merged 2 commits intowrf-model:developfrom
Conversation
|
@epn09 Thank you for making this PR. Have you looked how the non-mosaic version of Noah LSM handles the urban categories? That code did not need to check the namelist option use_wudapt_lcz and it appears to work fine. |
|
@weiwangncar In the non-mosaic version of Noah LSM, |
|
@epn09 This probably makes sense. Thanks. Would you be interested in testing an urban option using mosaic Noah LSM? |
|
@weiwangncar I have run the mosaic Noah LSM with single layer UCM urban option (using the bug-fixed code) for a 3-day run. Comparing with the run without mosaic option, the result looks reasonable to me. |
|
@epn09 Thank you for doing that test. |
|
@weiwangncar |
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.
|
@davegill and @weiwangncar I hope this is the right place to raise this issue: I have been getting segmentation fault error: I am using |
|
@pvahmanilbl |
|
@kkeene44 I am using use_wudapt_lcz=1. I have not tried it use_wudapt_lcz=0. My configuration works with non-mosaic (SF_SURFACE_MOSAIC=0) option but when I use mosaic (SF_SURFACE_MOSAIC=1) it crashes with seg fault. I posted here since this is the closest I found to the issue I am facing. |
|
@pvahmanilbl |
|
@kkeene44 thank you so much for your response! (sorry I am being slow; I was on paternity leave) |
|
@pvahmanilbl |
|
@kkeene44 thanks so much for your response! I was trying to use CONUS physics and it didn't work with MOSAIC until I used:
|
…z = 0 (wrf-model#1638) TYPE: bug fix KEYWORDS: noah mosaic, wudapt SOURCE: Do Ngoc Khanh (Tokyo Institute of Technology) DESCRIPTION OF CHANGES: Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0. Problem: Segmentation fault occurs when running the model using sf_surface_mosaic = 1 with use_wudapt_lcz = 0 as described in detail in wrf-model#1633. Solution: The code now checks for use_wudapt_lcz and uses different code to define urban categories in lsm_mosaic routine in module_sf_noahdrv.F. ISSUE: Fixes wrf-model#1633 LIST OF MODIFIED FILES: M dyn_em/module_first_rk_step_part1.F M phys/module_sf_noahdrv.F M phys/module_surface_driver.F TESTS CONDUCTED: 1. When use_wudapt_lcz = 1: bit-by-bit identical output before and after modification. 2. When use_wudapt_lcz = 0: Segmentation fault is fixed. 3. The Jenkins tests are all passing. RELEASE NOTE: Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0.
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.
TYPE: bug fix
KEYWORDS: noah mosaic, wudapt
SOURCE: Do Ngoc Khanh (Tokyo Institute of Technology)
DESCRIPTION OF CHANGES:
Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0.
Problem:
Segmentation fault occurs when running the model using sf_surface_mosaic = 1 with use_wudapt_lcz = 0 as described in detail in #1633.
Solution:
The code now checks for use_wudapt_lcz and uses different code to define urban categories in lsm_mosaic routine in module_sf_noahdrv.F.
ISSUE:
Fixes #1633
LIST OF MODIFIED FILES:
M dyn_em/module_first_rk_step_part1.F
M phys/module_sf_noahdrv.F
M phys/module_surface_driver.F
TESTS CONDUCTED:
RELEASE NOTE: Fix runtime error when using sf_surface_mosaic = 1 with use_wudapt_lcz = 0.