-
Notifications
You must be signed in to change notification settings - Fork 319
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
Nonstandard use of INCLUDEPATH in PIO build #18
Comments
Ok I put it in the PIO mailing-list: https://groups.google.com/forum/#!topic/parallelio/FGRp144EYc4 |
Thanks! |
caozd999
pushed a commit
to caozd999/MPAS-Model
that referenced
this issue
Jan 14, 2021
Fix git describe for repo without any tags Since this repo doesn't have any tags yet, git describe will fail unless it has an --always flag. This fix is needed before this repo will be useful for testing.
LarissaReames-NOAA
added a commit
to LarissaReames-NOAA/MPAS-Model
that referenced
this issue
Jul 8, 2024
* Add SMIOL library code in src/external/SMIOL, and add Makefile hooks This commit adds a copy of the SMIOL library source code in src/external/SMIOL, and it updates recipes in Makefiles to build the SMIOL library and link it with MPAS executables. At present, however, the SMIOL library is not actually used. * Wrap all PIO-specific code in MPAS_PIO_SUPPORT preprocessing directives In order to isolate all code that is specific to the PIO library, this commit adds pre-processing directives to include PIO-specific code only if MPAS_PIO_SUPPORT is defined at build time. The top-level Makefile defines MPAS_PIO_SUPPORT only if the PIO environment variable is defined. Although it is now possible to compile MPAS without any reference to the PIO library, doing so does not result in a useful model executable, since, e.g., no mesh information can be read during model bootstrapping. Besides the obvious additions of #idef MPAS_PIO_SUPPORT directives, there are several other aspects of the changes in this commit worth noting: 1) The optional 'io_system' argument to mpas_framework_init_phase2 and mpas_framework_finalize is an integer when MPAS_PIO_SUPPORT is not defined. 2) When MPAS_PIO_SUPPORT is not defined, MPAS_IO_OFFSET_KIND is defined as an I8KIND integer in mpas_io_types.inc. 3) The MPAS_*_FILLVAL constants have been provided with alternate defininitions when MPAS_PIO_SUPPORT is not defined. * If PIO is not available, define MPAS_SMIOL_SUPPORT in top-level Makefile If the PIO environment variable is not defined, the top-level Makefile defines the pre-processing macro MPAS_SMIOL_SUPPORT; otherwise, MPAS_PIO_SUPPORT is defined as before. * WIP: Implement SMIOL Still to do: 1) Ensure that all cores compile 2) Remove debugging print statements from mpas_io.F * Update SMIOL to 36e0f0e on io_comm branch * Revert "Update SMIOL to 36e0f0e on io_comm branch" This reverts commit 1e53460. * Add aggregation changes * Revert "Revert "Update SMIOL to 36e0f0e on io_comm branch"" (Add back the io_comm changes on top of aggregation changes) This reverts commit 18b7b91. * Use non-blocking (bput) interface to PnetCDF * Increase buffer size to 1 GB, change agg_factor to 20, remove debugging prints * Initial implementation of NSSL 2-moment microphysics * Added a package (nssl_moments) to turn on 3-moment version of NSSL microphysics (adds refl. moment variables for rain, graupel, hail: zrw, zgw, zhw). Also added code to compute the composite and 1-km reflectivity for NSSL2M (not actually tested yet) * Limit ice crystal effective radius to 130um to stay within allowed RRTMG range. * Enable substepping for mp_nssl2m when dt_dyn is large (automatically sets n_microp) * Added new variables to LBC code in time_integration * Checkpoint SMIOL prototype implementation -- 28 Sept 2022 * Incorporate bugfix from MPAS v7.3 * Fix issue with case-insensitive filesystems (e.g., macOS APFS) On case-insensitive filesystems, having the name of a build target the same as a directory -- specifically, 'smiol' and 'SMIOL', respectively -- leads make to infer that the target is already up to date. This is problematic in the case of SMIOL, since the library will never be compiled. * Add support for compression for netcdf4 mpas_io_streams.F : pass ioformat to def_var mpas_io.F : add conditional to set deflate on variables if ioformat is netcdf4 (needs netcdf-4.7.4 or later) * Hack to set chunksizes along the nCells dimension. Chunksize is nCells/nprocs * Added check in Makefile for HDF5 env. variable, which seems to be needed if the libraries are static only. * Silence a few messages in mpas_io.F that were primarily used during development * Comment-out some print statements in smiol.c that were used for debugging * Add support for first-guess data on Lambert conformal conic projection In order to enable the use of regional first-guess datasets given on a Lambert conformal conic projection for regional MPAS-A ICs (including terrain blending), LBCs, surface updates, several places in the init_atmosphere core have been updated with code to set up Lambert conformal projections. This commit also adds 'else' cases in the map projection set-up to catch future uses of unsupported map projections. * Fixed null pointer issue with program init_atmosphere on Jet * Merged branch diag_courant from skamaroc/MPAS-Model for printing out the maximum Courant numbers (horizontal and vertical) and the maximum Lipschitz number (vertical) * Fixed PBL crashs in debug mode and a memory overflow problem with debugging message * Use nlevels_cam_damp layers in CAM absorbing layer Rather than three hardwired layers, the CAM absorbing layer now uses a number of layers specified by the nlevels_cam_damp parameter. * Obtain number of layers in CAM absorbing layer from a new namelist option Rather than three hardwired layers, the CAM absorbing layer now uses a number of layers specified by the namelist option config_nlevels_cam_damp in the &damping namelist group. This namelist option is hidden and takes on a value of 3 by default. * Add support for 3D reflectivity output (refl10cm) from Thompson scheme by Ted * Add hydrometeor variables for IC/LBCs * Ted add computation for ns, ng etc. * Made the reflectivity computation for graupel in the Thompson scheme consistent with how it has been computed in all operational HRRR versions by turning off wet graupel * First attempts to get landusef and soilf in init file * Added some convective diagnostic variables for UPP categorial precipitation type computation * Revert "Added some convective diagnostic variables for UPP categorial precipitation type computation" This reverts commit f5acbf1. * Added landusef to static grid fields and added to input surface stream for core_atmosphere. * Adds files for RUC land surface model * Added needed RUC variables to the registry. Added physics versions of these to phys_vars and allocated/deallocated them in lsm driver. Fixed bug in Registry equation for nlcat that caused compile failure with gfortran. * For RUCLSM: add dependencies in makefiles; added needed constant * module_sf_ruclsm.F : modernized a do loop to prevent compiler warning. * mpas_atmphys_control.F : changed 'ruclsm' to 'ruc' to be consistent with L's naming * atmosphere Registry.xml: added 'ruc' option to config_lsm_scheme * Added new RUC variables to lsm_from_MPAS & lsm_to_MPAS routines. * Added landusef and soilf initialization to ideal cases and added 15s MODIS as a landcover dataset option * RUC LSM initialization and integration now work as expected without errors * Turned off low-level wind extrapolation * Bug fix for bad prediction of soil moisture and temperature. * Revert previous unintented change to cumulus scheme associated with "convection_permitting" physics package * Put back changes to diagnostic files that magically disappeared with no trace of how that happened. * Added back missing convective variables modificaitons from commit f5acbf1 * Added "output_interval" from streams file as a global attribute to output files * Remove print statement from convective_diagnostics * Fixed a bug causing computation of 0--2km integrated wind to fail. * Removed unnecessary uses of config_lsm_scheme in physics initialization (only called for core_init_atmosphere) * Increased the coefficient of the divergent portion of the Laplacian for the specified zone u to handle a blow-up with RRFS datasets * Added fields of RUC to restart files * Limited writting of 'output_interval' to the model run only * Fixed output of UH variables and hourly max 1-km reflectivity * Fixed bug in creation of LAI causing artificial irrigation where it wasn't approporiate * Revert "Fixed bug in creation of LAI causing artificial irrigation where it wasn't approporiate" This reverts commit 3370ba8. * Fixed bug in creation of LAI causing artificial irrigation where it wasn't approporiate * Revert "Fixed output of UH variables and hourly max 1-km reflectivity" This reverts commit 8b21aea. * Bill implemented the analysis fields wind rotation in the MPAS init_atmosphere core. * Re-implement fixes to output UH and hourly max 1 km refelctivity * Updates to support higher resolution landuse along with soil and landuse fractions for RUC LSM and BNU soil datset. * Updates to process monthly leave area index * Fix to decrease time associated with computing 1-km hourly max reflectivity. Also removed extraneous print statements * Fix for bug causing excessive hourly convective precip accumulation * Fixed a print statement * Removed an extra space before soilf * Added Vecna_ifort to Makfile * Radiation drivers were not using effective radii from NSSLmp because it wasn't added to the case statement. * Bug fixes for computation of LAI and added config_nsoilcat * Bug fix for computing precip accumulation arrays when the convection scheme is off * Implemented MYJ PBL and SFCLAY schemes. Schemes are running and producing reasonable results. * Revised Monin-Obukhov (surface layer) scheme implemented. Compiles and runs without issue. * Remove 'advCells' from init_atmosphere input and output streams The 'advCells' field is only used internally by the atm_initialize_advection_rk subroutine, and it is therefore not necessary to write this field to the output stream nor to read it from the input stream in the init_atmosphere core. * Remove 'hx' field from init_atmosphere input and output streams The 'hx' field is only used in the vertical-grid generation stage in the init_atmosphere_model program and therefore does not need to be written to the output stream nor read from the input stream. * Fixed computation of minimum UH fields. * Fixed computation of minimum UH fields. * Added refl10cm to restart file for WoFS da cycles * Fixed a divide-by-zero float problem when computing 1-km hourly max reflectivity * Fixed mpi initialization issue with thread * Additional content from previous merge commit * Bug fixes for init_atmosphere * Merged with frdd-MPAS-Model/atmosphere/nssl_v7.3_smiol_lcc * Lou added a smoother for the UH * Fixed commit for Lou added a smoother for the UH * Fixed continued lines for UH smoother * Updates to fix bugs with forecast. * Updated RUC LSM init to work with new VEGPARM.TBL * Tested GNU compiler on Vecna * Merge with MPAS-Dev/develop for two-stream I/O. * uReconstructZonal/Meridional is added back to restart in src/core_atmosphere/Registry.xml * mpas_atm_core.F is updated for mpas_atm_diag_update() in mpas_atm_diagnostics_manager.F to specify arguments, while mpas_atm_core_interface.F and mpas_atmphys_packages.F are updated to add streamInfo in atmphys_setup_packages. * Generalize mpas_sphere_angle function to work for non-unit-radius spheres The methods previously employed in the mpas_sphere_angle function for computing the side lengths of a spherical triangle were only applicable to unit-radius spheres. This commit generalizes the computation of these side lengths so that the mpas_sphere_angle function can be used to compute spherical angles on spheres of arbitrary radius. * Replaced erroneously deleted line * Put back the NSSL physical packages to Registry.xml which are removed when merging the two streams IO capability * Added uReconstructZonal/Meridional fields to the init stream of init_atmosphere * Added more field to Registry.xml for init_atmosphere to use init files as background for DART programs * remove module_mp_thompson.o from physics_wrf Makefile * fix indentations and remove unnecessary lines * remove SMIOL from Makefiles * remove duplicated line * fix indentation and remove unnecessary lines * change thompson microphysics reflectivity * first round of bug fixes * second round of bug fixes for NSSL merge * Remove repeated config entries * Fix NSSL merge errors in microphysics driver * Update SOILPARM.TBL * Update VEGPARM.TBL * Put a cap on snow for high terrain points. --------- Co-authored-by: Michael Duda <duda@ucar.edu> Co-authored-by: Ted Mansell <ted.mansell@noaa.gov> Co-authored-by: Yunheng Wang <yunheng.wang@noaa.gov> Co-authored-by: LarissaReames-NOAA <larissa.reames@noaa.gov> Co-authored-by: Larissa Reames <52886575+LarissaReames-NOAA@users.noreply.github.com> Co-authored-by: Larissa Reames <larissa.reames@Reames-m1-mbp.winstorm.nssl> Co-authored-by: Yunheng Wang <47898913+ywangwof@users.noreply.github.com> Co-authored-by: syha <syha@ucar.edu> Co-authored-by: Joseph.B.Olson <Joseph.B.Olson@noaa.gov> Co-authored-by: Anders Jensen <anders.jensen@noaa.gov> Co-authored-by: Tanya Smirnova <tanya.smirnova@noaa.gov>
barlage
pushed a commit
to barlage/MPAS-Model
that referenced
this issue
Sep 16, 2024
Bug fixes and clean up for MYNN-EDMF
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
(I was told to log these PIO issues here, if this is not the right forum can you please direct me to the right one? -- thanks)
The variable INCLUDEPATH is used by the PIO cmake but is not documented in the --help output.
Ordinarily I would expect this variable to be used in the form dir1:dir2:.... which is how some of the modules on our system are setting it.
The PIO build, however, is expanding the $INCLUDEPATH directly in some of the build commands
/shared/apps/rhel-6.2/tools/cponder/OpenMPI-1.8.4/Intel-15.0_CUDA-6.5/bin/mpifort -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/shared/apps/rhel-6.2/tools/cponder/NetCDF-Fortran-4.4.1/Intel-15.0_OpenMPI-1.8.4_CUDA-6.5/include -D_NETCDF4 -D_PNETCDF -fPIC -march=corei7-avx -mtune=corei7-avx -g -I/shared/apps/rhel-6.2/tools/cponder/NetCDF-Fortran-4.4.1/Intel-15.0_OpenMPI-1.8.4_CUDA-6.5/include /shared/apps/cuda/CUDA-v6.5.14/include/CL:/shared/apps/cuda/CUDA-v6.5.14/include -I/shared/apps/rhel-6.2/tools/cponder/PNetCDF-1.6.0/OpenMPI-1.8.4_Intel-15.0_CUDA-6.5/include pio_kinds.F90
and giving me the error
ifort: error #10236: File not found: '/shared/apps/cuda/CUDA-v6.5.14/include/CL:/shared/apps/cuda/CUDA-v6.5.14/include'
Evidently it's expected here to use a form like
-I DIR1 -I DIR2 ...
I can get around the problem by unsetting the variable, which is OK for my purposes. It may be the case that the -I DIR format really is the standard convention, but I think at the very least that you ought to document that INCLUDEPATH is a settable variable in the cmake build.
The text was updated successfully, but these errors were encountered: