-
Notifications
You must be signed in to change notification settings - Fork 12
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
Use PNETCDF to couple WRF-SFIRE with mass-consistent solver #18
Comments
PnetCDF to write the file for UtahEFD/QES-Winds#2 to read. |
CHPC has installed pnetcdf/1.11.2 module load pnetcdf sets PNETCDF_INCDIR and PNETCDF_LIBDIR apparently built with intel18 |
On CHPC, getting nf90mpi_open:wrf.nc error -128 NetCDF: Attempt to use feature that was not turned on when netCDF was built with It seems to be something about wrfout created by WRF only. With wrf.nc -> testfile.nc from https://github.com/janmandel/pnetcdf-tests this does not happen. Maybe some version issue, like conda-forge/libnetcdf-feedstock#42 Unidata/netcdf4-python/issues/713 |
From https://www.unidata.ucar.edu/software/netcdf/docs/parallel_io.html From https://en.wikipedia.org/wiki/NetCDF#Parallel-NetCDF From https://parallel-netcdf.github.io See also Parallel I/O and Portable Data Formats: PnetCDF and NetCDF4 |
From https://stackoverflow.com/questions/59506059/parallel-read-write-of-netcdf-file-using-fortran-and-mpi: The pnetcdf package (sometimes called parallel-netcdf) is an independent library, a totally separate implementation of netCDF ... high-performance parallel I/O library for accessing Unidata's NetCDF, files in classic formats ... pnetcdf has a netCDF-like API, but the function names are different. If pnetcdf is used in stand-alone mode (i.e. without the Unidata netCDF libraries) then user code must be written in the pnetcdf API. This code will not run using the Unidata netCDF library, it will run with pnetcdf only.... Also, pnetcdf can only be used with netCDF classic formats. It cannot read/write HDF5 files. I/O on few processors (<10)Using Unidata's netcdf-c/netcdf-fortran libraries would be simplest. Build pnetcdf, HDF5, then netcdf-c, then netcdf-fortran, all with MPI compilers. Make sure you specify --enable-parallel when building HDF5. (Not necessary with netcdf-c, netcdf-fortran, they will automatically detect parallel features of the HDF5 build). Once built, the netcdf C and Fortran APIs can do parallel I/O on any netCDF file. (And also on almost all HDF5 files.) Use nc_open_par()/nc_create_par() to get parallel I/O. I/O on some processors (10 - 1000)Use of pnetcdf may be simplest and give best performance for classic format files. It has a slightly different API and will not work for HDF5 files. |
From http://manpages.ubuntu.com/manpages/xenial/man3/pnetcdf_f90.3.html
|
Ready for testing. To buildgit checkout develop-18 To runrun ./real.exe and ./wrf.exe (that will produce an expected error) Testing needed
|
On cheyenne (from Angel for reference): module unload gdal or in sh: |
commenting out scalar pnetcdf write that does not wor:wk
also fixing end subroutine pnetcdf_read_int
Vertically staggered variables are "half level", the top is decreased by one. We need to make function get_chsum and its call for fmw compatible with that. See 75c25c7 |
…t.exe from openwfm/wrf-fire-matlab at 74cb95a69fb88579da78bb57ef60df403007838f WRF-SFIRE #18 openwfm/wrf-fire-matlab#4
moved function read_initial_wind to new module_wrfout.f90 openwfm/WRF-SFIRE#18 UtahEFD/QES-Winds#2 #4
Got the ping-pong working again. Code to do this is in the This should test the ping-pong'ing a bit. I need to fix some initialization issues in qes for |
@willemsn |
Hi Jan, QES does not use PNETCDF; our build will not need PNETCDF. For WRF-SFIRE though, I build it with this module list: #!/bin/sh With QES, I use this module list: #!/bin/sh |
wait for the first frame times out when compiling with -O3, all is good with -g -C but slow openwfm/WRF-SFIRE#18 #4
Works fine on CHPC with the module parallel-netcdf which points a build of pnetcdf with the Intel oneapi compiler. |
I've got it compiling and running. Doesn't seem to be "syncing" and waiting for QES. Is there something that need to be turned on that I forgot about? |
1) ncarenv/1.3 2) intel/19.1.1 3) ncarcompilers/0.5.0 4) mpt/2.25 5) netcdf/4.8.1 6) pnetcdf/1.12.3 #18 openwfm/wrf-fire-matlab#4 7e837847cba1c35771cf0b15f6a5f05c0e326531
modules loaded: openmpi/4.1.1 netcdf-fortran/4.5.3 intel-oneapi-compilers/2021.4.0 netcdf-c/4.8.1 parallel-netcdf/1.12.2 #18 UtahEFD/QES-Winds#2 openwfm/wrf-fire-matlab#4
On CHPC use:
and This can be done by
before the Note: Also, parallel-netcdf will crash when opening a flle that is a soft link to a file in |
Continued in #5 |
New feature: Add Balbi ros model, crown fire model, multilayer heat flux scheme, and StarFIRE submodule
For the PREEVENTS project.
Comments on WRF-SFIRE edits here, for the other side at UtahEFD/QES-Winds#2.
The text was updated successfully, but these errors were encountered: