Conversation
- NCAR/wrf_hydro_nwm_public#756 Add initial support for gage-assisted diversions in channel routing - NCAR/wrf_hydro_nwm_public#811 bugfix: Diversions Makefiles for configure build - NCAR/wrf_hydro_nwm_public#816 Revert TYPEL(k) check - NCAR/wrf_hydro_nwm_public#823 make clean new directories - NCAR/wrf_hydro_nwm_public#829 Rename fortglob.f90 to fortglob.F90 for preprocessor - NCAR/wrf_hydro_nwm_public#827 Dropping .exe extension from wrf_hydro binary - NCAR/wrf_hydro_nwm_public#855 Properly handle unexpected NaNs in diversion observations - NCAR/wrf_hydro_nwm_public#856 Make diversion init errors non-fatal, proceed without diversions - NCAR/wrf_hydro_nwm_public#861 Nudging, Fixing type mismatch when nudging turned on - NCAR/wrf_hydro_nwm_public#862 OUTPUT_CHAN_CONN uses nudging io but not nudging Co-authored-by: Ryan Cabell <rcabell@users.noreply.github.com> Co-authored-by: Andrew Song <andrewsoong@users.noreply.github.com>
|
The regression test results: |
|
@scrasmussen Is it possible to find another hydro person to review this PR? |
Sure thing, thanks for the reminder! Just pinged @rcabell about this |
… configure: ifx/openapi
| @@ -0,0 +1,10 @@ | |||
| add_library(hydro_routing_diversions STATIC | |||
| module_diversions.F90 | |||
| module_diversions_timeslice.F90 | |||
There was a problem hiding this comment.
I think this might be missing some compile / link info for netcdf. When I try to compile hydro from the top-level WRF build I get:
[ 42%] Building Fortran object hydro/Routing/Diversions/CMakeFiles/hydro_routing_diversions.dir/module_diversions_timeslice.F90.o
/home/aislas/wrf-model/wrf_extra/hydro/Routing/Diversions/module_diversions_timeslice.F90:5:9:
5 | use netcdf
| 1
Fatal Error: Cannot open module file ‘netcdf.mod’ for reading at (1): No such file or directory
compilation terminated.
make[2]: *** [hydro/Routing/Diversions/CMakeFiles/hydro_routing_diversions.dir/build.make:88: hydro/Routing/Diversions/CMakeFiles/hydro_routing_diversions.dir/module_diversions_timeslice.F90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2078: hydro/Routing/Diversions/CMakeFiles/hydro_routing_diversions.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 42%] Linking Fortran static library libhydro_routing_reservoirs.a
[ 42%] Built target hydro_routing_reservoirs
[ 42%] Building Fortran object external/io_netcdf/CMakeFiles/io_netcdf.dir/field_routines.F90.o
[ 42%] Linking Fortran static library libio_netcdf.a
[ 42%] Built target io_netcdf
[ 42%] Built target registry_code
make: *** [Makefile:136: all] Error 2
There was a problem hiding this comment.
I'll look into this, thanks for finding this issue!
There was a problem hiding this comment.
@islas I was not able to reproduce this error. What environment/setup are you using? How did you build (CMake or Makefile configure)?
I've been using
module purge
module load ncarenv gcc ncarcompilers cray-mpich craype netcdf cmake
That's from following the Old Method compile instructions in the readthedocs, without the number two step of replacing the hydro directory with WRF-Hydro repo.
I'm definitely interested in reproducing the bug so I can fix it, thanks!
There was a problem hiding this comment.
I'm building locally on my machine where I've installed mpich, netcdf, and netcdf-fortran to directories, making sure that they are found by the cmake build. I usually use this setup to test for anything that derecho hides.
This is the verbose compile output:
[ 6%] Building Fortran object hydro/Routing/Diversions/CMakeFiles/hydro_routing_diversions.dir/module_diversions_timeslice.F90.o
cd /home/aislas/wrf-model/wrf_extra/_build/hydro/Routing/Diversions && /usr/bin/gfortran -DBUILD_RRTMG_FAST=0 -DBUILD_RRTMK=0 -DBUILD_SBM_FAST=1 -DCONFIG_BUF_LEN=65536 -DDA_CORE=0 -DDM_PARALLEL -DDWORDSIZE=8 -DEM_CORE=1 -DFSEEKO64_OK -DGRIB1 -DINTIO -DIWORDSIZE=4 -DKEEP_INT_AROUND -DLANDREAD_STUB -DLIMIT_ARGS -DLWORDSIZE=4 -DMAX_DOMAINS_F=21 -DMAX_HISTORY=25 -DMPP_LAND -DNETCDF -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DNONSTANDARD_SYSTEM_SUBR -DRWORDSIZE=4 -DSHOW_ALL_VARS_USED=0 -DUSE_ALLOCATABLES -DUSE_MPI=1 -DUSE_NETCDF4_FEATURES=1 -DWRFIO_NCD_LARGE_FILE_SUPPORT=1 -DWRFPLUS=0 -DWRF_HYDRO=1 -DWRF_USE_CLM -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -Dwrfmodel -w -fconvert=big-endian -frecord-marker=4 -J../../mods -O2 -ftree-vectorize -funroll-loops -ffree-line-length-none -fallow-argument-mismatch -fallow-invalid-boz -cpp -c /home/aislas/wrf-model/wrf_extra/hydro/Routing/Diversions/module_diversions_timeslice.F90 -o CMakeFiles/hydro_routing_diversions.dir/module_diversions_timeslice.F90.o
/home/aislas/wrf-model/wrf_extra/hydro/Routing/Diversions/module_diversions_timeslice.F90:5:9:
5 | use netcdf
| 1
Fatal Error: Cannot open module file ‘netcdf.mod’ for reading at (1): No such file or directory
compilation terminated.
I am able to recreate it on derecho, however, by doing:
module purge
module load gcc cmake netcdf cray-mpich
./configure_new <stuff, prompt select hydro>
./compile_new
I do have to fix finding CURL in the cmake build... if you do run into that just wholly comment that find_package( CURL ) line in the top-level CMakeLists.txt
There was a problem hiding this comment.
Here is my WRF build on derecho, if that helps: /glade/work/aislas/wrf-model/wrf_upstream
There was a problem hiding this comment.
module purge module load gcc cmake netcdf cray-mpich ./configure_new <stuff, prompt select hydro> ./compile_newI do have to fix finding CURL in the cmake build... if you do run into that just wholly comment that
find_package( CURL )line in the top-level CMakeLists.txt
Just an fyi if I also load ncarcompilers in addition to the ones you use, I don't get the CURL package error.
ml purge
ml gcc cmake netcdf cray-mpich ncarcompilers
Still working on replicating the error, will chat with you in the release meeting soon!
TYPE: bugfix, enhancement
KEYWORDS: syncing WRF-Hydro/hydro, gage-assisted diversion, bugfixes
SOURCE: internal hydro team + contributor
DESCRIPTION OF CHANGES: This PR updates the hydro directory to the NCAR/wrf_hydro_nwm_public repository. It includes the following PRs
LIST OF MODIFIED FILES:
TESTS CONDUCTED: NOTE THAT THE PR IS IN DRAFT UNTIL TESTING IS COMPLETE. Current building and running
RELEASE NOTE: Hydro bug fixes plus modifications to add initial support for gage-assisted diversions in channel routing, which requires a new optional Diversion netCDF parameter file. This adds a C compiler dependency