Makefile.config.ecconf 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. $(info --> Reading $(lastword $(MAKEFILE_LIST)))
  2. comma := ,
  3. ECEARTH_SRC_DIR := ${HOME}/models/ecearth_3.3.4.2/sources
  4. MPI_BASE_DIR := ${EBROOTOPENMPI}
  5. ifneq ($(strip $(MPI_BASE_DIR)),)
  6. MPI_INC_DIR := $(MPI_BASE_DIR)$(addprefix /,include)
  7. MPI_LIB_DIR := $(MPI_BASE_DIR)$(addprefix /,lib)
  8. endif
  9. MPI_LIBS := mpi mpi_mpifh
  10. OASIS_BASE_DIR := $(ECEARTH_SRC_DIR)/oasis3-mct
  11. OASIS_ARCH := ecconf
  12. OASIS_MPI_CHAN := MPI1
  13. OASIS_MOD_DIR := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/build/lib/psmile.$(OASIS_MPI_CHAN)
  14. OASIS_LIB_DIR := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/lib
  15. OASIS_LIBS := psmile.MPI1 mct mpeu scrip
  16. ifneq ($(strip ${EBROOTNETCDFMINFORTRAN}),)
  17. NETCDF_LIB_DIR := ${EBROOTNETCDFMINFORTRAN}/lib
  18. NETCDF_INC_DIR := ${EBROOTNETCDFMINFORTRAN}/include
  19. endif
  20. NETCDF_LIBS := netcdff netcdf
  21. LAPACK_BASE_DIR := ${EBROOTIMKL}/mkl/latest
  22. ifneq ($(strip $(LAPACK_BASE_DIR)),)
  23. LAPACK_LIB_DIR := $(LAPACK_BASE_DIR)$(addprefix /,lib/intel64)
  24. endif
  25. LAPACK_LIBS := mkl_intel_lp64 mkl_core mkl_sequential
  26. ifneq ($(strip ${EBROOTECCODES}),)
  27. GRIBAPI_INC_DIR := ${EBROOTECCODES}/include
  28. GRIBAPI_LIB_DIR := ${EBROOTECCODES}/lib
  29. endif
  30. GRIBAPI_LIBS := eccodes_f90 eccodes
  31. ifneq ($(strip /gpfs/projects/acad/ecearth/softs/gribex/iompi-2023a/lib),)
  32. GRIBEX_LIB_DIR := /gpfs/projects/acad/ecearth/softs/gribex/iompi-2023a/lib/
  33. endif
  34. GRIBEX_LIBS := gribexR64
  35. MAKEDEPF90 := ${ECEARTH_SRC_DIR}/util/makedepf90/bin/makedepf90
  36. F90 := mpif90
  37. F90FLAGS := -free -O2 -fp-model precise -march=core-avx2 -r8
  38. IFSAUX_ADD_F90FLAGS :=
  39. FC := mpif90
  40. FFLAGS := -fixed -O2 -fp-model precise -march=core-avx2 -r8
  41. FPPDEFS := $(addprefix -D,linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS ECCODES)
  42. CC := mpicc
  43. CFLAGS := -std=gnu90 -O2 -fp-model precise -march=core-avx2
  44. CPPDEFS := $(addprefix -D,linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS ECCODES)
  45. LD := $(F90)
  46. LDFLAGS := -O2 -fp-model precise -march=core-avx2
  47. AR := ar
  48. ARFLAGS := curv
  49. ARFLAGS_EXTRACT := p