Giter Club home page Giter Club logo

wrf-cmake / wps Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wrf-model/wps

12.0 12.0 2.0 2.73 MB

๐Ÿ”จ The WRF Preprocessing System (WPS) with CMake support

License: MIT License

Perl 0.38% Shell 0.59% Makefile 0.80% Fortran 92.28% C 3.24% OCaml 0.11% Prolog 0.11% NCL 1.33% Batchfile 0.01% CMake 1.03% Python 0.07% PowerShell 0.06%
academia atmospheric-modelling atmospheric-science cmake fortran grib hpc hpc-applications linux macos meteorology netcdf nwp research scientific-computations scientific-computing weather windows wps wrf

wps's People

Contributors

azure-pipelines[bot] avatar davegill avatar dmey avatar gthompsnwrf avatar jimbresch avatar kkeene44 avatar kwadrat avatar letmaik avatar mgduda avatar powersjg avatar smilemchen avatar weiwangncar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wk1984 martinremy

wps's Issues

Align link_grib.py CLI interface to link_grib.csh

Currently, link_grib.py does not behave the same as link_grib.csh from a CLI argument perspective. E.g. link_grib.csh also accepts a list of filenames, typically provided via shell expansion (foo_*), where link_grib.py only accepts a folder.

Remove debug logging "Processing tile:..."

At some point we added the following log statement:

call mprintf(.true.,LOGFILE, "Processing tile: minx=%i maxx=%i miny=%i maxy=%i", &
i1=dummy_start_patch_i, i2=dummy_end_patch_i, i3=dummy_start_patch_j, i4=dummy_end_patch_j)

And here:

call mprintf(.true.,LOGFILE, "Processing tile: minx=%i maxx=%i miny=%i maxy=%i", &
i1=my_minx, i2=my_maxx, i3=my_miny, i4=my_maxy)

This was only used for debugging and should probably be removed again.

Update licence

To be consistent with other repos/projects, we should modify the licence text to:

# WRF-CMake (https://github.com/WRF-CMake/WPS).
# Copyright 2018-2019 M. Riechert and D. Meyer. Licensed under the MIT License.

PMIX ERROR

I installed WRF & WPS using brew successfully. I tried to implement them in GIS4WRF with MPI [n=2]. Clicking [Run Geogrid] reported 'PMIX ERROR: ERROR in file gds_ds12_lock_pthread.c at line 206'. However, it still reported '! Successful completion of geogrid. !' The same error was reported when I clicked [Run Metgrid] and [Run Real].
My OS is macOS 10.15. I attached the log file from Geogrid. Thank you.
geogrid.log.0000.zip

Using the command line, export PMIX_MCA_gds=hash can fix the issue. However, how can we address this when we try to run WRF & WPS in GIS4WRF?

Windows build broken due to HDF5 update on MSYS

A change in HDF5 imposes DEBUG/NDEBUG preprocessor definitions onto its consumers (like us, indirectly via NetCDF):

target_compile_definitions(${HDF5_LIB_TARGET}
    PUBLIC
        ${HDF_EXTRA_C_FLAGS}
        ${HDF_EXTRA_FLAGS}
        $<IF:$<CONFIG:Debug>,DEBUG,NDEBUG>
    PRIVATE
        $<$<BOOL:${HDF5_ENABLE_TRACE}>:"H5_DEBUG_API">  # Enable tracing of the API
        $<$<BOOL:${HDF5_ENABLE_DEBUG_APIS}>:"H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG">
)

This is a big problem as the string DEBUG in any preprocessed source code would be replaced by an empty string. Having NDEBUG defined is normal as that's a convention, but DEBUG is a very general term. For WPS, it breaks the build because that identifier is used:

integer, parameter :: QUIET=-100, LOGFILE=-2, DEBUG=0, INFORM=1, WARN=2, ERROR=3, STDOUT=100

We're currently experiencing this problem as MSYS2 updated its HDF5 package, picking up the change. A temporary work-around is to undefine the DEBUG preprocessor definition via -UDEBUG.
We will have to keep the work-around for quite a while though (forever?) as we won't know which version people will be using. Looking at the release dates of HDF5, affected versions are >= 1.10.3.

Utils from binary release WPS-CMake 4.1.0 are no relocatable

Tested with: wps-cmake-4.1.0-basic_nesting-serial-x64-linux-release.tar.xz
The executables under util directory doesn't define the RPATH on the binary dynamic section.
For example util/calc_ecmwf_p.exe:

$  objdump -p util/calc_ecmwf_p.exe
....
Dynamic Section:
  NEEDED               libgfortran.so.5
  NEEDED               libm.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libc.so.6
....

[some output ommited]

It can be fixed like:

$ patchelf --force-rpath --set-rpath "\$ORIGIN/../.libs" --replace-needed libgfortran.so.5 libgfortran-2e0d59d6.so.5.0.0 util/calc_ecmwf_p.exe
$ objdump -p util/calc_ecmwf_p.exe
.....
Dynamic Section:
  RPATH                $ORIGIN/../.libs
  NEEDED               libgfortran-2e0d59d6.so.5.0.0
  NEEDED               libm.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libc.so.6

the fixing includes also to point the right SO.

Regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.