Skip to content
This repository has been archived by the owner on Jan 7, 2025. It is now read-only.

Build fails in StdEnv/2020 on graham #9

Open
douglatornell opened this issue May 4, 2021 · 1 comment
Open

Build fails in StdEnv/2020 on graham #9

douglatornell opened this issue May 4, 2021 · 1 comment

Comments

@douglatornell
Copy link
Member

Huge number of errors in compilation of Mohid_Base_1/src/ModuleHDF5.F90 (see terminal output below):

[dlatorne@gra-login2 linux]$ ./compile_mohid.sh -v -mb1 -mb2 -mw

#### Mohid Base 1 ####

 ifort -c -w -g -traceback  -cpp -real_size 64  -qopenmp -O1 -convert little_endian -fPIC -heap-arrays 64 -fp-model source  -xHost -ip -fpe0  -fpp   -D_USE_PROJ4 -D_LAGRANGIAN_GLOBAL_ -D_USE_NIX -D_STACK_LIMITS_ src/.....F90  -I/include -I/include -I/include -I/include -I/home/dlatorne/project/dlatorne/MIDOSS/MIDOSS-MOHID-CODE/Solutions/linux/src/Mohid_Base_1/include -I/home/dlatorne/project/dlatorne/MIDOSS/MIDOSS-MOHID-CODE/Solutions/linux/src/Mohid_Base_2/include  -L/lib -lnetcdf -lnetcdff -L/lib -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -ldl -L/lib -lproj -L/lib -lfproj4 -I/include -L/lib -lz  -lm  -o build/.....o  -module include

src/ModuleHDF5.F90(1968): error #6285: There is no matching specific subroutine for this generic subroutine call.   [SETMATRIXVALUE]
            call SetMatrixValue(Me%AuxMatrixes%DataI4_1D, Me%Limits1D, Array1D)
-----------------^
src/ModuleHDF5.F90(2079): error #6285: There is no matching specific subroutine for this generic subroutine call.   [SETMATRIXVALUE]
            call SetMatrixValue(Me%AuxMatrixes%DataI4_2D, Me%Limits2D, Array2D)
-----------------^
src/ModuleHDF5.F90(2197): error #6285: There is no matching specific subroutine for this generic subroutine call.   [SETMATRIXVALUE]
            call SetMatrixValue(Me%AuxMatrixes%DataI4_3D,Me%Limits3D,Array3D)
-----------------^
src/ModuleHDF5.F90(2306): error #6633: The type of the actual argument differs from the type of the dummy argument.   [NMEMBERS]
        call h5gn_members_f (FileID, trim(GroupName), nmembers, STAT_CALL)
------------------------------------------------------^
src/ModuleHDF5.F90(2312): error #6633: The type of the actual argument differs from the type of the dummy argument.   [NMEMBERS]
                call h5gn_members_f (FileID, trim(ParentGroupName), nmembers, STAT_CALL)
--------------------------------------------------------------------^
src/ModuleHDF5.F90(6539): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_]
            call h5fflush_f (Me%FileID, H5F_SCOPE_LOCAL_F, STAT_)
-----------------------------------------------------------^
src/ModuleHDF5.F90(6543): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_]
            call h5fclose_f(Me%FileID,   HDFERR = STAT_)
--------------------------------------------------^
src/ModuleHDF5.F90(6552): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_]
                            FILE_ID = Me%FileID, HDFERR = STAT_)
----------------------------------------------------------^
src/ModuleHDF5.F90(6692): error #6633: The type of the actual argument differs from the type of the dummy argument.   [FILEID]
                        FILE_ID = FileID, HDFERR = STAT_CALL)    
----------------------------------^
src/ModuleHDF5.F90(6763): error #6633: The type of the actual argument differs from the type of the dummy argument.   [NITEMS]
            call h5gn_members_f (gr_id, trim(adjustl(GroupName)), nItems, STAT_CALL)
------------------------------------------------------------------^
src/ModuleHDF5.F90(6842): error #6633: The type of the actual argument differs from the type of the dummy argument.   [RANK]
            call h5sget_simple_extent_ndims_f (space_id, rank, STAT_CALL)
---------------------------------------------------------^
src/ModuleHDF5.F90(6944): error #6633: The type of the actual argument differs from the type of the dummy argument.   [RANK]
            call h5sget_simple_extent_ndims_f (space_id, rank, STAT_CALL)
---------------------------------------------------------^
src/ModuleHDF5.F90(7011): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
            call h5gopen_f       (Me%FileID, trim(adjustl(FatherGroupName)), gr_id, STAT_CALL)
------------------------------------------------------------------------------------^
src/ModuleHDF5.F90(7017): error #6633: The type of the actual argument differs from the type of the dummy argument.   [GROUPTYPE]
                                       GroupName, GroupType, STAT_CALL)
--------------------------------------------------^
src/ModuleHDF5.F90(7017): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                                       GroupName, GroupType, STAT_CALL)
-------------------------------------------------------------^
src/ModuleHDF5.F90(7022): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                call h5dopen_f      (gr_id, trim(adjustl(GroupName)), dset_id, STAT_CALL)
-------------------------------------------------------------------------------^
src/ModuleHDF5.F90(7025): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                call h5dget_space_f (dset_id, space_id, STAT_CALL)
--------------------------------------------------------^
src/ModuleHDF5.F90(7028): error #6633: The type of the actual argument differs from the type of the dummy argument.   [RANK_]
                call h5sget_simple_extent_ndims_f (space_id, rank_, STAT_CALL)
-------------------------------------------------------------^
src/ModuleHDF5.F90(7028): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                call h5sget_simple_extent_ndims_f (space_id, rank_, STAT_CALL)
--------------------------------------------------------------------^
src/ModuleHDF5.F90(7042): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                call h5sget_simple_extent_dims_f  (space_id, dims, maxdims, STAT_CALL)
----------------------------------------------------------------------------^
src/ModuleHDF5.F90(7051): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                    call h5aopen_name_f     (dset_id, "Units", attr_id, STAT_CALL)
------------------------------------------------------------------------^
src/ModuleHDF5.F90(7052): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                    call h5Tcopy_f          (H5T_NATIVE_CHARACTER, type_id, STAT_CALL)
----------------------------------------------------------------------------^
src/ModuleHDF5.F90(7053): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                    call h5Tset_size_f      (type_id, int(StringLength,8), STAT_CALL)
---------------------------------------------------------------------------^
src/ModuleHDF5.F90(7054): error #6285: There is no matching specific subroutine for this generic subroutine call.   [H5AREAD_F]
                    call h5aread_f          (attr_id, type_id, Units_, dims, STAT_CALL)
-------------------------^
src/ModuleHDF5.F90(7055): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                    call h5aclose_f         (attr_id, STAT_CALL) 
------------------------------------------------------^
src/ModuleHDF5.F90(7056): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                    call h5Tclose_f         (type_id, STAT_CALL)
------------------------------------------------------^
src/ModuleHDF5.F90(7064): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                call h5sclose_f     (space_id, STAT_CALL)
-----------------------------------------------^
src/ModuleHDF5.F90(7067): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
                call h5dclose_f     (dset_id, STAT_CALL)
----------------------------------------------^
src/ModuleHDF5.F90(7071): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
            call h5gclose_f      (gr_id, STAT_CALL)
-----------------------------------------^
src/ModuleHDF5.F90(7119): error #6633: The type of the actual argument differs from the type of the dummy argument.   [STAT_CALL]
            call h5gopen_f       (Me%FileID, adjustl(trim(FatherGroupName)), gr_id, STAT_CALL)
------------------------------------------------------------------------------------^
/tmp/ifortD99fvY.i90(7670): catastrophic error: Too many errors, exiting
compilation aborted for src/ModuleHDF5.F90 (code 1)
@douglatornell
Copy link
Member Author

douglatornell commented May 4, 2021

Investigation shows that many of the errors are due to apparently stronger type checking by ifort (IFORT) 19.1.1.217 20200306 included in StdEnv/2020. Variables like STAT_CALL, rank, and class_id are declared as integer(HID_T) in MOHID, but HDF5 library expects them to be integer. After changing a few dozen of those declaration I started to look at SetMatrixValue() which is in Mohid_Base_1/src/ModuleFunctions.F90; i.e. part of MOHID, not an external library. That may indicate that this issue is bigger and deeper than it initially appears.

For now, the course of action is to plan to continue to run MOHID in the StdEnv/2016.4 environment on graham. Modifications in other repositories that are required to support that:

douglatornell added a commit to MIDOSS/Make-MIDOSS-Forcing that referenced this issue May 4, 2021
douglatornell added a commit to MIDOSS/docs that referenced this issue May 4, 2021
douglatornell added a commit to MIDOSS/MOHID-Cmd that referenced this issue May 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant