Closed shuihou closed 2 months ago
Hi, can you copy and paste the exact command you used? Also make sure you have netcdf library installed and know path to the library.
I think it's already installed netcdf library.
yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build$ which ncdump
/usr/local/netcdf4-needed/bin/ncdump
yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build$ ncdump
ncdump [-c|-h] [-v ...] [[-b|-f] [c|f]] [-l len] [-n name] [-p n[,n]] [-k] [-x] [-s] [-t|-i] [-g ...] [-w] file
[-c] Coordinate variable data and header information
[-h] Header information only, no data
[-v var1[,...]] Data for variable(s)
I tried to configure the environment to solve “command not found". I have changed the following two files. I have added the following environments. bashrc and /etc/profile export NETCDF=/usr/local/netcdf4-needed export PATH=$NETCDF/bin:$PATH export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH export CPPFLAGS='-I/usr/local/netcdf4-needed/include' export LDFLAGS='-L/usr/local/netcdf4-needed/lib' source ~/.bashrc
But it is still the same problem as yesterday yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build$ make gnu=>gfortran -g -Wall -fmax-errors=0 -fbacktrace -fcheck=all -ffpe-trap=zero -ffree-line-length-none /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/nrtype.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/nr_utility.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/ascii_util.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/ncio_utils.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/gamma_func.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/public_var.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/dataTypes.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/var_lookup.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/time_utils.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/datetime_data.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/globalData.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/popMetadat.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/allocation.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/network_topo.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/process_param.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/process_ntopo.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/pfafstetter.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/domain_decomposition.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/remap.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/read_control.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/read_param.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/read_streamSeg.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/write_streamSeg.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/read_runoff.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/get_basin_runoff.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/read_remap.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/read_restart.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/write_restart.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/write_simoutput.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/model_finalize.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/accum_runoff.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/basinUH.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/irf_route.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/kwt_route.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/dfw_route.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/kw_route.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/mc_route.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/main_route.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/model_setup.f90 /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/mizuRoute-main/route/build/src/route_runoff.f90 \ -Wl,-rpath,/usr/bin/gfortran/lib -L/usr/bin/gfortran/lib -lnetcdff -lnetcdf -I/usr/bin/gfortran/include -o /mizuRoute.exe /bin/sh: line 1: -g: command not found make: *** [Makefile:187: compile] Error 127
Hi, I am now sure that you are providing FC_EXE = gnu=>gfortran
in Line 16. This should be FC_EXE = gfortran
. Make sure not to include no tail white space (i.e., no space nor tab after gfortran
.
I am sorry for another confusion. you might have installed already, but I meant that you will need to have netcdf fortran library- https://www.unidata.ucar.edu/software/netcdf/
Thank you, I think I should have compiled it successfully. Thank you for your help, your enthusiasm in answering my questions promptly and efficiently. Thank you very much.
Succesfully compiled
Successfully installed
rm -f .o
rm -f .lst
rm -f .mod
rm -f __genmod.f90
Successfully cleaned object files
yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/bin$ ls
README.md mizuRoute.exe
I changedFC_EXE = gnu=>gfortran
to FC_EXE = gfortran
and it worked
I think,I still need your help. I tried using python's necdf4 package as well as the xrarray package to generate a simple .nc file, but it all ends up back with this error. yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/bin$ ./mizuRoute.exe /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/settings/SAMPLE.control ---- read control file ---
Hi, Sorry for example dataset, which has been taken off from link. I will post it somewhere and let you know.
Your small dataset you created with xarray seems to be fine, but not sure why. As error message said, is it really netcdf?
You can try netcdf test first (https://github.com/ESCOMP/mizuRoute/tree/main/netcdf_test) to see if you can write and read netcdf. if not, there is something wrong with netcdf setup.
(base) yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/netcdf_test$ make
gfortran -Wall -g -ffree-line-length-none -c test_netcdf.f90 -I/usr/local/netcdf4-needed/include
gfortran *.o -Wl,-rpath,/usr/local/netcdf4-needed/lib -L/usr/local/netcdf4-needed/lib -lnetcdff -lnetcdf -o test_netcdf.exe
rm -f *.o
rm -f *.mod
(base) yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/netcdf_test$ ./test_netcdf.exe
FATAL ERROR: NetCDF: Unknown file format
It compiled successfully, but not run. I have tried the ncdump command and it recognises part of my nc file. There are also some that it does not recognise. The situation is as follows.
(base) yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/input$ ncdump -h CN05.1_Pre_1961_daily_025x025.nc
ncdump: CN05.1_Pre_1961_daily_025x025.nc: NetCDF: Unknown file format
(base) yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/input$ ncdump -h 13.nc
netcdf \13 {
dimensions:
RecordID = 67 ;
Name_len = 17 ;
variables:
char Name(RecordID, Name_len) ;
Name:long_name = "Name" ;
Name:standard_name = "Name" ;
// global attributes:
:Conventions = "CF-1.0" ;
:Source_Software = "Esri ArcGIS" ;
}
(base) yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/input$ ncdump -h pres_CMFD_V0106_B-01_01dy_010deg_200201-200212.nc
netcdf pres_CMFD_V0106_B-01_01dy_010deg_200201-200212 {
dimensions:
lat = 400 ;
lon = 700 ;
time = UNLIMITED ; // (365 currently)
variables:
float lat(lat) ;
lat:standard_name = "latitude" ;
lat:long_name = "Latitude" ;
lat:units = "degrees_north" ;
lat:axis = "Y" ;
float lon(lon) ;
lon:standard_name = "longitude" ;
lon:long_name = "Longitude" ;
lon:units = "degrees_east" ;
lon:axis = "X" ;
short pres(time, lat, lon) ;
pres:long_name = "Near surface air pressure" ;
pres:units = "Pa" ;
pres:add_offset = 63500.f ;
pres:scale_factor = 2.f ;
pres:_FillValue = -32767s ;
pres:missing_value = -32767s ;
double time(time) ;
time:standard_name = "time" ;
time:long_name = "Time" ;
time:units = "hours since 1900-1-1 00:00:00" ;
time:calendar = "standard" ;
time:axis = "T" ;
// global attributes:
:Conventions = "CF-1.0" ;
:history = "Created at 2016-04-02 06:58:20 UTC by the ITPCAS Data Fusion System" ;
:source = "ITPCAS Data Fusion System (Version: 01.02.0240)" ;
:institution = "Institute of Tibetan Plateau Research, Chinese Academy of Sciences, Beijing, China" ;
:title = "Daily mean near surface air pressure from the ITPCAS China Meteorological Forcing Dataset" ;
:description = "Data from ITPCAS China Meteorological Forcing Dataset (Version: 01.06.0014; Category: B-01: 03hr, 0.10deg)" ;
:references = "He, J., and K. Yang, 2011: China Meteorological Forcing Dataset. Cold and Arid Regions Science Data Center, Lanzhou, Gansu, China, digital media, doi:10.3972/westdc.002.2014.db. [Available online at http://westdc.westgis.ac.cn/data/7a35329c-c53f-4267-aa07-e0037d913a21.]" ;
}
Those two successful nc's are gis generated, fortran generated, I don't know what makes them special, but they can be identified. I have tried using random nc's generated by gis as input files for mizuroute and they turned out to be recognisable.
(base) yongliang@LAPTOP-MG3S5MBM:/mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/bin$ ./mizuRoute.exe ../settings/SAMPLE.control
---- read control file ---
<ancil_dir> --> /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/ancillary_data/
<input_dir> --> /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/input/
<output_dir> --> /mnt/d/AAA_WORK/mizuRoute/mizuRoute-main/route/results/
<case_name> --> test
<sim_start> --> 2003-03-22 00:00:00
<sim_end> --> 2003-04-01 00:00:00
<route_opt> --> 2
<fname_ntopOld> --> 15.nc
<dname_sseg> --> seg
<dname_nhru> --> hru
<seg_outlet> --> 3
<fname_qsim> --> 15.nc
<vname_qsim> --> runoff
<vname_time> --> Time
<dname_time> --> time
<dname_hruid> --> RN_HRU
<units_qsim> --> mm/s
<dt_qsim> --> 86400
<is_remap> --> F
<param_nml> --> param.nml.default
---- calendar ---
calendar will be read from 15.nc
time_unit will be read from 15.nc
---- runoff unit ---
runoff unit is provided as: mm/s
FATAL ERROR: init_data/init_ntopo/getData/NetCDF: Invalid dimension ID or name; name=hru
If ok, could you describe how you handle nc data? My current idea is to learn to use Arcgis to generate multidimensional nc data. Your replies are always meaningful guidance, but I am just starting to learn and have many questions and low efficiency, so please forgive me!
You will have to specify variable names in network netcdf in control file. https://mizuroute.readthedocs.io/en/latest/seg_hru_param.html
There is no further response since 11/2022, so I will close this question. Let me know if you have any further questions here.
Hello, I am a student at the University of the Sea and I am currently using the VIC model and have used the confluence model you posted. I'm having trouble installing mizoRoute, I use the make command in the build folder: e.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/nr_utility.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/ascii_util.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/ncio_utils.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/gamma_func.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/public_var.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/dataTypes.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/var_lookup.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/time_utils.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/datetime_data.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/globalData.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/popMetadat.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/allocation.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/network_topo.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/process_param.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/process_ntopo.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/pfafstetter.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/domain_decomposition.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/remap.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/read_control.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/read_param.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/read_streamSeg.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/write_streamSeg.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/read_runoff.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/get_basin_runoff.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/read_remap.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/read_restart.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/write_restart.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/write_simoutput.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/model_finalize.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/accum_runoff.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/basinUH.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/irf_route.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/kwt_route.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/dfw_route.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/kw_route.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/mc_route.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/main_route.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/model_setup.f90 /mnt/d/AAA_WORK/mizoRoute/mizuRoute-main/mizuRoute-main/routebuild/src/route_runoff.f90 \ -Wl,-rpath,/usr/bin/gfortran/lib -L/usr/bin/gfortran/lib -lnetcdff -lnetcdf -I/usr/bin/gfortran/include -o ./mizoRoute.exe /bin/sh: line 1: -g: command not found make: *** [Makefile:187: compile] Error 127
This is the version of gfortran I have installed. GNU Fortran (Ubuntu 9.5.0-1ubuntu1~22.04) 9.5.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. I hope you can help me with this problem.