FORCES issueshttps://git.ufz.de/chs/forces/-/issues2022-05-12T11:40:05+02:00https://git.ufz.de/chs/forces/-/issues/34Create FPM package for FORCES2022-05-12T11:40:05+02:00Sebastian MüllerCreate FPM package for FORCESSince the [fortran package manager](https://github.com/fortran-lang/fpm) is evolving, we could use the pace and create a FORCES package for it.Since the [fortran package manager](https://github.com/fortran-lang/fpm) is evolving, we could use the pace and create a FORCES package for it.v1.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/chs/forces/-/issues/33Make FORCES installable with cmake2022-05-12T11:37:53+02:00Sebastian MüllerMake FORCES installable with cmakeIt would be nice to be able to install FORCES as a static or shared lib.
We could follow the stdlib cmake example for that: https://github.com/fortran-lang/stdlib-cmake-example
It may be a good idea to make FORCES position independent c...It would be nice to be able to install FORCES as a static or shared lib.
We could follow the stdlib cmake example for that: https://github.com/fortran-lang/stdlib-cmake-example
It may be a good idea to make FORCES position independent code by default.v1.0Sebastian MüllerSebastian Müllerhttps://git.ufz.de/chs/forces/-/issues/6support_CF_conventions_with_mo_netcdf2021-11-09T13:49:24+01:00Robert Schweppesupport_CF_conventions_with_mo_netcdfIt would be good to support the [CF conventions](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html). Currently the nodata_value check and masking is done after reading and an optional transformation to o...It would be good to support the [CF conventions](http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html). Currently the nodata_value check and masking is done after reading and an optional transformation to other data types (as in MPR to `dp`). This makes it especially costly to check and trasnform. On top of that, we should also support the correct use of `scale_factor`, `add_offset`, `valid_range`, `valid_min`, `valid_max` and `_FillValue`. This task is also suitable to give the templating system of [fypp](https://fypp.readthedocs.io/en/stable/fypp.html) a go as there is a lot of functions to be generated for all types.
The idea is to automatically check for the signal attributes and perform the operations on the variables, optionally changing types. To make it backwards compatible, the idea is to now add an optional boolean argument to the getData procedures `decode_cf` which we set to `.true.`. We additionally allow for a mask to be passed as an optional argument which will receive the masked values. For later, we shall also the appropriate options in the `setData` calls.v1.0Robert SchweppeRobert Schweppe