husseinaluie / flowsieve Goto Github PK
View Code? Open in Web Editor NEWFlowSieve coarse-graining code base
Home Page: https://flowsieve.readthedocs.io/en/latest/
License: Other
FlowSieve coarse-graining code base
Home Page: https://flowsieve.readthedocs.io/en/latest/
License: Other
''from matpy import FiniteDiff'' , this command appears in Spherical Demo/Helmholtz/postprocessing/Plot_Spectral.ipynb.
I can't import matpy, but I'm sure I have the matpy library installed.
So far I haven't been able to successfully implement "from matpy import FiniteDiff". Does the FiniteDiff.py provided in the directory yields the same result?
There is something funky going on with the documentation tree. The red circled parts don't seem to be actual subsections of the "Installation" section (but rather belong to the License text etc.).
This issue is part of the JOSS review process over openjournals/joss-reviews#4277.
Hello, everyone!
I am confused about the searching range of the coarse-grain operation. Supposing filter scale = 100km and Kernel_opt = 4 which is a tanh kernel. I noticed that there is a Kernpad = 2.5, which is scale factor for kernel search radius. Does this mean that I am doing filtering in a range of 250km(100km*2.5) in diameter?Does this go against what I originally wanted to do filtering within 100km?
Any reply and answer would be greatly appreciated!
Is FlowSieve specialized in coarse-graining velocity fields? Or can you also coarse-grain tracer fields?
I think these are questions that many potential users will have. It would be great if 1-2 clarifying sentences can be included in the paper & documentation.
I think it would be helpful for many (possibly inexperienced) users if the first step in the installation instructions would be:
This issue is part of the JOSS review process over openjournals/joss-reviews#4277.
Hi!
Here is the thing. I was trying compute_BC_transfer within the coarse_grain.x procedure. Terminate called after throwing an instance of 'std::out_of_range' when procedure comes to apply_filter_at_point. I figured out the problem because the code line 68 and 69 in function apply_filter_at_point that indicate tmp_dl_vals.size == field.size, so does tmp_dll_vals. Actually tmp_dl_vals.size(==4, not include dl_rho_tmp and dl_p_tmp) doesn't equal to field.size(==6, include rho and p). So to make the program work, we need to add dl_filter_vals.push_back(&dl_rho_tmp) and dll_filter_vals.push_back(&dll_rho_tmp), aslo for p.
Am I right?
I see that the package contains tests (in Tests/
). I have a few questions:
This issue is part of the JOSS review process over at openjournals/joss-reviews#4277.
I want to coarse-grain a scalar on a regular cartesian grid. I compiled coarse_grain_scalars.x by setting CARTESIAN = true
in constants.hpp file. However, when I try to coarse_grain the field, I get the following output (see output in grey shading),
Commandline flag "--input_file" got value "./input_file.nc"
Commandline flag "--time" received no value - will use default "time"
Commandline flag "--depth" received no value - will use default "depth"
Commandline flag "--latitude" got value "y"
Commandline flag "--longitude" got value "x"
Commandline flag "--is_degrees" received no value - will use default "true"
Commandline flag "--do_PEKE_conversion" received no value - will use default "false"
Commandline flag "--Nprocs_in_time" received no value - will use default "1"
Commandline flag "--Nprocs_in_depth" received no value - will use default "1"
Commandline flag "--region_definitions_file" received no value - will use default "region_definitions.nc"
Commandline flag "--region_definitions_dim" received no value - will use default "region"
Commandline flag "--region_definitions_var" received no value - will use default "region_definition"
Commandline flag "--variables" got value "var"
Commandline flag "--filter_scales" got value "1 5 10 20"
Filter scales (20) are: 1m, 5m, 10m, 20m,
The first output says "--is_degrees" received no value - will use default "true"
even though I set CARTESIAN = true
.
Am I missing something here?
JOSS asks for a statement of need in the documentation. This statement should state what problems the software is designed to solve and who the target audience is.
Hi!
I am new here! I don't know how to compile Case_files/coarse_grain.x. Should I make a system.mk file before compiling?
It's grateful to have your suggestions!
Hi Ben,
I'm still trying 😄. I recieved some help from the university IT team and now parallel is enabled (#20). I have the output of nc-config --all
at the bottom in case it is helpful.
Unfortunately, I now run into this error:
...
icpc: command line warning #10148: option '-Wdate-time' not supported
ld: cannot find -lhdf5_hl
ld: cannot find -lhdf5
Makefile:208: recipe for target 'Case_Files/coarse_grain.x' failed
make: *** [Case_Files/coarse_grain.x] Error 1
I did:
make clean
module load intel-compilers/2022
module load openmpi/4.1.4-intel
module load hdf5/1.12.2-intel-parallel
module load netcdf/netcdf-c-4.9.0-parallel
make Case_Files/coarse_grain.x
Any help would be deeply appreciated!
All the best,
Salah
This netCDF 4.9.0 has been built with the following features:
--cc -> mpicc
--cflags -> -I/network/software/ubuntu_bionic/netcdf/netcdf-c-4.9.0-parallel/include -I/network/software/ubuntu_bionic/hdf5/1.12.2-intel-parallel/include
--libs -> -L/network/software/ubuntu_bionic/netcdf/netcdf-c-4.9.0-parallel/lib -L/network/software/ubuntu_bionic/hdf5/1.12.2-intel-parallel/lib -lnetcdf -lhdf5_hl -lhdf5 -lm -lz -lsz -lbz2 -lxml2 -lcurl
--static -> -lhdf5_hl -lhdf5 -lm -lz -lsz -lbz2 -lxml2 -lcurl
--has-c++ -> no
--cxx ->
--has-c++4 -> yes
--cxx4 -> g++
--cxx4flags -> -I/usr/include -Wdate-time -D_FORTIFY_SOURCE=2
--cxx4libs -> -L/usr/lib/x86_64-linux-gnu -lnetcdf_c++4 -lnetcdf
--has-fortran -> yes
--fc -> gfortran
--fflags -> -I/usr/include
--flibs -> -L/usr/lib -lnetcdff -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -lnetcdf -lnetcdf
--has-f90 -> no
--has-f03 -> yes
--has-dap -> yes
--has-dap2 -> yes
--has-dap4 -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--has-hdf5 -> yes
--has-hdf4 -> no
--has-logging -> no
--has-pnetcdf -> no
--has-szlib -> yes
--has-cdf5 -> yes
--has-parallel4 -> yes
--has-parallel -> yes
--has-nczarr -> yes
--has-zstd -> no
--has-benchmarks -> no
--prefix -> /network/software/ubuntu_bionic/netcdf/netcdf-c-4.9.0-parallel
--includedir -> /network/software/ubuntu_bionic/netcdf/netcdf-c-4.9.0-parallel/include
--libdir -> /network/software/ubuntu_bionic/netcdf/netcdf-c-4.9.0-parallel/lib
--version -> netCDF 4.9.0
Hello, I am here for another question agian!
For example, if I have Ntime = 30 (daily resolution) and Ndepth =1. The submit script in Slurm system as follows:
#!/bin/bash
#SBATCH --output=sim-%j.out
#SBATCH --error=sim-%j.err
#SBATCH --ntasks=5
#SBATCH --cpus-per-task=64
mpirun -n ${SLURM_NTASKS} ./coarse_grain.x
--Nprocs_in_time "5"\
Does this mean that I use 5 processes with 64 cores per process to compute, and one process represents a day of computation, there are 5 processes simultaneously starting 5 days of computation, 30/5=6 simultaneous calculations of 5 processes are required until the complete execution is complete, and each day of computation uses 64 cores to compute?
There are a few inconsistencies and typos in the method section of the documentation, and it would be helpful to give it a bit more structure (via section headers). Specifically:
This issue is part of the JOSS review process over openjournals/joss-reviews#4277.
This is not a bug, but a suggestion. The number of parameters to go around and edit manually to get through the tutorial is a lot and I had to change it for every tutorial.
I think a new user would be best served by a copy of the constants.hpp
file. Ther may also be other solutions to quickly get started
Hi there,
I am using the Jasmin hpc service in the UK. I don't really know how to write a system.mk file for it and would like some guidance if possible.
I used the Bluehive_open.mk. I ran into the following when I tried make Case_Files/coarse_grain.x
, fatal error: netcdf_par.h: No such file or directory
.
I tried getting a copy of this h file off github and put it in the main directory, the error became longer and included error: 'num_regions' not specified in enclosing 'parallel'
and error: 'len_fields' not specified in enclosing 'parallel'
, so I can see that I am missing something here.
Salah
JOSS asks to include
clear community guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support.
Could you please add community guidelines to this effect? I think the README would be a great place for that.
This issue is part of the JOSS review process over openjournals/joss-reviews#4277.
Hi,
I updated the last code version. Compilation error came up when I trying 'make Case_Files/coarse_grain.x'.
Dear All,
Recently I tried my best to install FlowSieve on our HPC, but I failed.
The error is as follows:
NETCDF_IO/write_field_to_output.cpp: In function ‘void write_field_to_output(const std::vector<double>&, const string&, const size_t*, const size_t*, const string&, const std::vector<bool>*, MPI_Comm)’: NETCDF_IO/write_field_to_output.cpp:134:23: error: ‘fmiddle’ is predetermined ‘shared’ for ‘shared’ private(index) ^ make: *** [NETCDF_IO/write_field_to_output.o] Error 1
Attached is the detailed error log. Would you mind giving me a hand? Many thanks!
Sincerely,
Ran
Just two quick questions regarding the "Scalar Tutorial":
velocity_sample.nc
.Tagging openjournals/joss-reviews#4277
The ones I have found so far...
Hello,
This query is probably related with issues (#20 and #22). I don't think anyone ever got FlowSieve working on JASMIN?
I am testing the BASIC Tutorial but after running
mpirun ./coarse_grain.x --input_file velocity_sample.nc --filter_scales "1e3 15e3 50e3 100e3"
in a sbatch script, the error is as follows
coarse_grain.x: NETCDF_IO/read_var_from_file.cpp:85: void read_var_from_file(std::vector<double>&, const string&, const string&, std::vector<bool>*, std::vector<int>*, std::vector<int>*, int, int, bool, int, double, MPI_Comm): Assertion `input_nc_format == (3)' failed.
[host424:164200] *** Process received signal ***
[host424:164200] Signal: Aborted (6)
[host424:164200] Signal code: (-6)
[host424:164200] [ 0] /lib64/libpthread.so.0(+0xf630)[0x7f0174ef3630]
[host424:164200] [ 1] /lib64/libc.so.6(gsignal+0x37)[0x7f0174b4c387]
[host424:164200] [ 2] /lib64/libc.so.6(abort+0x148)[0x7f0174b4da78]
[host424:164200] [ 3] /lib64/libc.so.6(+0x2f1a6)[0x7f0174b451a6]
[host424:164200] [ 4] /lib64/libc.so.6(+0x2f252)[0x7f0174b45252]
[host424:164200] [ 5] ./coarse_grain.x[0x4aa8d3]
[host424:164200] [ 6] ./coarse_grain.x[0x4b3e1b]
[host424:164200] [ 7] ./coarse_grain.x[0x4a0828]
[host424:164200] [ 8] /lib64/libc.so.6(__libc_start_main+0xf5)[0x7f0174b38555]
[host424:164200] [ 9] ./coarse_grain.x[0x4a397e]
[host424:164200] *** End of error message ***
--------------------------------------------------------------------------
Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 164200 on node host424 exited on signal 6 (Aborted).
--------------------------------------------------------------------------
What i have gathered from the previous issues is that --has-parallel ->
should be yes
. Running nc-config -all
gives
nc-config --all
This netCDF 4.8.1 has been built with the following features:
--cc -> x86_64-conda-linux-gnu-cc
--cflags -> -I/apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/include
--libs -> -L/apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/lib -lnetcdf
--static -> -lmfhdf -ldf -lhdf5_hl -lhdf5 -lm -lcurl -lzip
--has-c++ -> no
--cxx ->
--has-c++4 -> yes
--cxx4 -> /home/conda/feedstock_root/build_artifacts/netcdf-cxx4_1659035179945/_build_env/bin/x86_64-conda-linux-gnu-c++
--cxx4flags -> -I/apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/include
--cxx4libs -> -L/apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718//apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/lib -lnetcdf-cxx4 -lnetcdf
--has-fortran -> yes
--fc -> /home/conda/feedstock_root/build_artifacts/netcdf-fortran_1674656969142/_build_env/bin/x86_64-conda-linux-gnu-gfortran
--fflags -> -I/apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/include -I/apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/include
--flibs -> -L/apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/lib -lnetcdff -lnetcdf -lnetcdf
--has-f90 -> TRUE
--has-f03 -> yes
--has-dap -> yes
--has-dap2 -> yes
--has-dap4 -> yes
--has-nc2 -> yes
--has-nc4 -> yes
--has-hdf5 -> yes
--has-hdf4 -> yes
--has-logging -> no
--has-pnetcdf -> no
--has-szlib -> no
--has-cdf5 -> yes
--has-parallel4 -> no
--has-parallel -> no
--has-nczarr -> yes
--prefix -> /apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718
--includedir -> /apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/include
--libdir -> /apps/jasmin/jaspy/mambaforge_envs/jaspy3.10/mf-22.11.1-4/envs/jaspy3.10-mf-22.11.1-4-r20230718/lib
--version -> netCDF 4.8.1
which shows it does not have parallel-netcdf. It could be that JASMIN does not have a pre-compiled parallel version of netcdf installed, which causes this issue? I guess I want to rule out other issues first, e.g. with the jasmin.mk
file
# Specify compilers
CXX ?= g++
MPICXX ?= mpicxx
# Linking flags for netcdf
LINKS:= -lnetcdf-cxx4 -lnetcdf -lhdf5_hl -lhdf5 -lm -ldl -lz -fopenmp
# Default compiler flags
CFLAGS:=-Wall -std=c++14
# Debug flags
DEBUG_FLAGS:=-g
DEBUG_LDFLAGS:=-g
# Basic optimization flags
OPT_FLAGS:=-O3
# Extra optimization flags (intel inter-process optimizations)
EXTRA_OPT_FLAGS:=
# Specify optimization flags for ALGLIB
ALGLIB_OPT_FLAGS:=-O3
# Modules are automatically on lib dir
NETCDF_LIBS="-L/apps/sw/eb/software/netCDF/4.8.0-gompi-2021a/lib"
NETCDF_INCS="-I/apps/sw/eb/software/netCDF/4.8.0-gompi-2021a/include"
HDF5_LIBS="-L/apps/sw/eb/software/HDF5/1.12.1-gompi-2021b/lib"
HDF5_INCS="-I/apps/sw/eb/software/HDF5/1.12.1-gompi-2021b/include"
LIB_DIRS:=${NETCDF_LIBS} ${HDF5_LIBS}
INC_DIRS:=${NETCDF_INCS} ${HDF5_INCS}
Any advice appreciated.
Hi Guys
I tried to compile the code but failed due to the errors occuring in compute_KE_spectra_and_slopes.cpp. Several warnings about undefined reference to functions can be seen, as follows:
/usr/bin/ld: Functions/compute_KE_spectra_and_slopes.o: in function compute_KE_spectra_and_slopes(std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, dataset const&, double)': compute_KE_spectra_and_slopes.cpp:(.text+0x114f): undefined reference to
toroidal_vel_from_F(std::vector<double, std::allocator >&, std::vector<double, std::allocator >&, std::vector<double, std::allocator > const&, std::vector<double, std::allocator > const&, std::vector<double, std::allocator > const&, int, int, int, int, std::vector<bool, std::allocator > const&)'
/usr/bin/ld: compute_KE_spectra_and_slopes.cpp:(.text+0x11a2): undefined reference to potential_vel_from_F(std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, int, int, int, int, std::vector<bool, std::allocator<bool> > const&)' /usr/bin/ld: compute_KE_spectra_and_slopes.cpp:(.text+0x1356): undefined reference to
toroidal_vel_from_F(std::vector<double, std::allocator >&, std::vector<double, std::allocator >&, std::vector<double, std::allocator > const&, std::vector<double, std::allocator > const&, std::vector<double, std::allocator > const&, int, int, int, int, std::vector<bool, std::allocator > const&)'
/usr/bin/ld: compute_KE_spectra_and_slopes.cpp:(.text+0x139a): undefined reference to `potential_vel_from_F(std::vector<double, std::allocator >&, std::vector<double, std::allocator >&, std::vector<double, std::allocator > const&, std::vector<double, std::allocator > const&, std::vector<double, std::allocator > const&, int, int, int, int, std::vector<bool, std::allocator > const&)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:213: Case_Files/coarse_grain.x] Error 1
Could you kindly provide some help to fix this problem? Thanks!
Dears,
I ask two questions:
In constant.hpp I can choose UNIFORM_LON_GRID=false, and UNIFORM_LAT_GRID=false, It means longitude and latitude would have the form: lon(i,j) and lat(i,j)?
In my netcdf file, I have 2208 times. When I run coarse_grain_scalars.x I add --Nprocs_in_time 2208, I am supposing this command allows doing the parallelization. Is it correct?
Best regards
constants.hpp
, I modified variables as in the documentation, but in addition needed to make the following modification:EXTEND_DOMAIN_TO_POLES = false
I think it would be useful to include this in the docs too.
environment.yml
file to set up a conda environment.import xarray as xr
ds = xr.open_dataset('/glade/u/home/noraloose/FlowSieve/Tutorial/Basic/velocity_sample.nc')
ds.uo.plot()
but you could also consider to make the 2 python scripts more interactive and step through them in the notebook.
This issue is part of the JOSS review process over at openjournals/joss-reviews#4277.
JOSS requires the software paper to include the following elements:
This issue is part of the JOSS review process over openjournals/joss-reviews#4277.
What settings do I have to choose in constants.hpp
to guarantee that the filter commutes with derivatives? I suspect
DEFORM_AROUND_LAND = false
(does this mean: don't change the kernel shape close to land?)FILTER_OVER_LAND = true
(or is this option merely about whether the output is masked or not, and does not impact the actual filter algo?)These questions are not part of the JOSS review process, just for my own curiosity.
Dears,
I am using high-resolution currents from a MITgcm simulation. Previous to the use coarse-graining filtering, I have used Helmholtz decomposition to get Helmholtz scalars (Psi and Phi) following the github documentation for high-resolution velocities. In Li, Z., Chao, Y., & McWilliams, J. C. (2006) (Computation of the streamfunction and velocity potential for limited and irregular domains) explains a methodology to get Psi and Phi that I believe is similar to the used in Helmholtz_projection.cpp. However, I do not understand the step to refine the projection using a seed. Could you help me giving me more details about this step?. Thank you sou much.
Best regards
While in the article you state that
In particular, MPI is used to divide time and depth
I did not find an example which demonstrates this in the Tutorials. We only see OpenMP being used and SLURM_NTASKS
is always set as 1. Would it be possible to construct a simple example which shows MPI parallelism. This is necessary to check out from openjournals/joss-reviews#4277 (comment):
Functionality: Have the functional claims of the software been confirmed?
I want to use the FlowSieve package to compute the kinetic energy spectrum. It uses a coarse-graining approach, which does not have the limitations of the Fourier transform and handles boundaries well. I want to install it but I am facing some issues since it is not clear the steps to do it. Could I have some tips? I appreciate any help you can provide.
With gcc 10.3.0, I get
mpic++ -c -DDEBUG=0 -O3 -o NETCDF_IO/add_attr_to_file.o NETCDF_IO/add_attr_to_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
NETCDF_IO/add_attr_to_file.cpp: In function 'void add_attr_to_file(const char*, double, const char*, MPI_Comm)':
NETCDF_IO/add_attr_to_file.cpp:23:38: error: format not a string literal and no format arguments [-Werror=format-security]
23 | snprintf(buffer, 50, filename);
| ^
If I do CFLAGS := -w
to suppress warnings, it goes a bit further, but errors again
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/add_attr_to_file.o NETCDF_IO/add_attr_to_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/add_var_to_file.o NETCDF_IO/add_var_to_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/check_file_existence.o NETCDF_IO/check_file_existence.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/initialize_output_file.o NETCDF_IO/initialize_output_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/initialize_particle_file.o NETCDF_IO/initialize_particle_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/initialize_postprocess_file.o NETCDF_IO/initialize_postprocess_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/initialize_projected_particle_file.o NETCDF_IO/initialize_projected_particle_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/initialize_regions_file.o NETCDF_IO/initialize_regions_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/initialize_subset_file.o NETCDF_IO/initialize_subset_file.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/load_region_definitions.o NETCDF_IO/load_region_definitions.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/nc_err.o NETCDF_IO/nc_err.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
mpic++ -c -DDEBUG=0 -w -O3 -o NETCDF_IO/package_field.o NETCDF_IO/package_field.cpp -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -fopenmp
NETCDF_IO/package_field.cpp: In function 'void package_field(std::vector<short int>&, double&, double&, const std::vector<double>&, const std::vector<bool>*, MPI_Comm)':
NETCDF_IO/package_field.cpp:59:54: error: 'fmiddle' not specified in encerrorlosing 'parallel'
59 | local_double = (original.at(index) - fmiddle) / frange;
| ^~~~~~~
NETCDF_IO/package_field.cpp:49:13: error: enclosing 'parallel'
49 | #pragma omp parallel \
| ^~~
NETCDF_IO/package_field.cpp:59:65: error: 'frange' not specified in enclosing 'parallel'
59 | local_double = (original.at(index) - fmiddle) / frange;
| ^~~~~~
NETCDF_IO/package_field.cpp:49:13: error: enclosing 'parallel'
49 | #pragma omp parallel \
| ^~~
make: *** [Makefile:78: NETCDF_IO/package_field.o] Error 1
JOSS requires the LICENSE file to have the contents of an OSI approved software license. I can't find the ODC-BY 1.0 license among the licenses in the OSI approved list.
This issue is part of the JOSS review process over here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.