Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update EMC develop from NCAR dtc/develop 2020/03/17 #84

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
10838b7
Merge changes from NEMSfv3gfs/gmtb/develop into ufs-weather-model/dtc…
climbfuji Nov 5, 2019
d60fb52
Rename rt_ccpp_gmtb.conf to rt_ccpp_dtc.conf, clean up CAPS and DTC r…
climbfuji Nov 5, 2019
4555e20
Update of regression test setup scripts for CCPP dynamic build
climbfuji Nov 5, 2019
f7d4530
Bugfix for CAPS regression test: correct name of namelist template
climbfuji Nov 5, 2019
5edf0ef
merge configuration files for FA scheme
mzhangw Nov 8, 2019
c19f2ce
1. change nwat to 4 for qv,qc,qi,qr water loading for FA scheme
mzhangw Nov 14, 2019
2a46d10
parm/{ccpp_control.nml.IN,gfdlmp.nml.IN,input.nml.IN}: make imfdeepcn…
climbfuji Nov 18, 2019
2a39743
Add new regression tests for sas and satmedmfvdifq
climbfuji Nov 18, 2019
5d9b120
Update submodule pointer for FV3
climbfuji Nov 18, 2019
866a2c7
conf/configure.fv3.macosx.gnu: adjust REPRO flags for b4b identical r…
climbfuji Nov 19, 2019
46cf464
tests/compile.sh: workaround to avoid warnings about non-existent inc…
climbfuji Nov 19, 2019
466a73b
Update submodule pointer for FV3
climbfuji Nov 19, 2019
68f030a
Update submodule pointer for stochastic_physics
climbfuji Nov 19, 2019
64799c3
Bugfix for NEMSCompset tests: add new default variables to compsets/f…
climbfuji Nov 20, 2019
e00902d
Update submodule pointer for FV
climbfuji Nov 20, 2019
8d276ba
Update submodule pointers for FV3 and stochastic_physics
climbfuji Nov 20, 2019
bd76a74
Merge pull request #3 from climbfuji/add_sas_and_satmedmf_regression_…
climbfuji Nov 20, 2019
4a64395
minor fix
mzhangw Nov 22, 2019
94f0318
Merge branch 'dtc/develop' of https://github.com/NCAR/ufs-weather-mod…
mzhangw Nov 22, 2019
be2363f
delete rt_ccpp_HAFS.conf
mzhangw Nov 22, 2019
c37646e
Allow environment variable NEMS_MACHINE to overwrite (or set) MACHINE_ID
climbfuji Nov 22, 2019
15ed9ca
Merge pull request #1 from mzhangw/HAFS_fer_hires
climbfuji Nov 22, 2019
fa17957
Update submodule pointer for FV3
climbfuji Nov 22, 2019
17a3ea6
Merge pull request #6 from climbfuji/update_submodule_pointer_20191122
climbfuji Nov 22, 2019
361a497
Update submodule pointer for FV3
climbfuji Nov 25, 2019
2857a21
Merge pull request #7 from climbfuji/ufs_update_submodule_pointer_fv3atm
climbfuji Nov 25, 2019
26fcd57
Point submodule WW3 back to NOAA-EMC
climbfuji Nov 26, 2019
6fc17ca
Merge NEMSfv3gfs gsd/develop into ufs-weather-model dtc/develop, squa…
climbfuji Nov 26, 2019
d541054
Merge branch 'nems_machine_env_var' of https://github.com/climbfuji/u…
climbfuji Nov 26, 2019
5b903fb
Update submodule pointer for FV3
climbfuji Nov 26, 2019
77bdaa9
parm/ccpp_gsd_sar.nml.IN, tests/rt_ccpp_gsd.conf: bugfixes for SAR an…
climbfuji Nov 27, 2019
04ad3e6
Update submodule pointer for FV3
climbfuji Nov 27, 2019
0bf138f
Merge pull request #8 from climbfuji/merge-gsd_develop-and-nems_machi…
climbfuji Nov 27, 2019
4227033
Update submodule pointer for WW3 to match EMC
climbfuji Nov 27, 2019
49d5095
tests/fv3_conf/ccpp_gsd_sar_run.IN: bugfix, correct path to CCPP libr…
climbfuji Nov 27, 2019
defe5fa
Merge branch 'develop' of https://github.com/ufs-community/ufs-weathe…
climbfuji Nov 27, 2019
2deb2e1
Update of CCPP regression test configurations to reflect changes from…
climbfuji Nov 27, 2019
af5fce1
conf/configure.fv3.*.gnu: add '-Wall' to Fortran debug flags
climbfuji Nov 30, 2019
03e8e03
Follow-up bugfix for tests/fv3_conf/ccpp_gsd_sar_run.IN, insert missi…
climbfuji Nov 30, 2019
51d57f8
Update submodule pointer for FV3
climbfuji Dec 2, 2019
860f00e
Point to 2019.01 tag for FMS, update .gitmodules
climbfuji Dec 2, 2019
e26a614
tests/rt.conf: move cheyenne.intel tests to tests/rt_intel.conf
climbfuji Dec 2, 2019
bc29b37
tests/rt.sh: change default queue on cheyenne from premium to economy
climbfuji Dec 2, 2019
20d3b98
tests/fv3_conf/ccpp_control_run.IN, tests/rt_ccpp_dtc.conf: bugfixes …
climbfuji Dec 2, 2019
69ed25d
Update submodule pointer for FV3
climbfuji Dec 3, 2019
9ac4703
Merge pull request #9 from climbfuji/dtc_develop_udpate_from_emc_2019…
climbfuji Dec 3, 2019
e34a99d
Merge branch 'develop' of https://github.com/ufs-community/ufs-weathe…
climbfuji Dec 5, 2019
ba683e9
Merge pull request #1 from NCAR/dtc/develop
panll Dec 6, 2019
e8896bb
adding namelists for v15.2 and v16
linlin-pan Dec 6, 2019
343c816
Merge branch 'dtc/develop' of https://github.com/panll/ufs-weather-mo…
climbfuji Dec 6, 2019
2c913a4
GFS v15.2 and GFS v16beta namelists for CCPP for UFS public release
climbfuji Dec 7, 2019
b95c95a
Update path to fix files for CCPP FA regression test, add rt_ccpp_haf…
climbfuji Dec 8, 2019
b294dad
Update submodule pointer for FV3
climbfuji Dec 9, 2019
bf05b97
Merge pull request #11 from climbfuji/update_dtc_develop_from_emc_dev…
climbfuji Dec 9, 2019
5a64854
Merge branch 'develop' of https://github.com/ufs-community/ufs-weathe…
climbfuji Dec 14, 2019
d071710
Rename suite FV3_GFS_v15.2 to FV3_GFS_v15p2, convert line endings to …
climbfuji Dec 16, 2019
fb701e3
tests/fv3_conf/ccpp_*_run.IN: remove INPUT and RESTART as first step,…
climbfuji Dec 17, 2019
caf8a8e
tests/rt.sh: update regression test baseline to trunk-20191217
climbfuji Dec 17, 2019
22efd1f
Update submodule pointer for FV3 following the merge of https://githu…
climbfuji Dec 17, 2019
430976c
Merge pull request #16 from climbfuji/update_dtc_develop_from_ufs_pub…
climbfuji Dec 17, 2019
5b1e5d6
Update of tests/rt_ccpp_dtc.conf: WW3 only supported on hera (hera.in…
climbfuji Dec 20, 2019
0bcd135
Revert PBS queue change on Cheyenne (back to premium)
climbfuji Dec 23, 2019
9fad3f0
Merge pull request #18 from climbfuji/revert_queue_change_cheyenne
climbfuji Dec 23, 2019
26b0ffa
Update submodule pointer for FV3
climbfuji Dec 23, 2019
00d8b77
Add regression test fv3_ccpp_gsd_sar_25km_debug
climbfuji Dec 23, 2019
5f1e9b4
Merge pull request #17 from climbfuji/ww3_rt_ccpp_dtc_conf
climbfuji Dec 26, 2019
c428ab3
Update submodule pointer for FV3 following merge of https://github.co…
climbfuji Dec 26, 2019
2b6903e
Updates for new regression test fv3_ccpp_gsd_sar_25km_debug
climbfuji Dec 26, 2019
4c2d541
Merge pull request #19 from climbfuji/sar_fix_hrrr_ics
climbfuji Dec 26, 2019
e69a08b
Merge branch 'develop' of https://github.com/ufs-community/ufs-weathe…
climbfuji Jan 27, 2020
23cdb90
Update .gitmodules for code review and testing
climbfuji Jan 27, 2020
6ab3fda
Update .gitmodules to use EMC'S NEMS repository instead of the NCAR fork
climbfuji Jan 27, 2020
5507b9a
Update tests/rt_ccpp_dtc.conf and tests/rt_gnu.conf; add temporary re…
climbfuji Jan 27, 2020
5df8b17
Revert baseline directory change in tests/rt.sh, use DTC baseline
climbfuji Jan 28, 2020
c61c421
Bugfix for tests/rt_ccpp_dtc.conf, need to specify machine names for …
climbfuji Jan 29, 2020
85e5a91
Bugfix for tests/rt_ccpp_dtc.conf, need to specify dependencies for r…
climbfuji Jan 29, 2020
2907bf9
Revert .gitmodules change, update submodule pointers
climbfuji Feb 3, 2020
4b36630
Merge pull request #20 from climbfuji/update_dtc_develop_from_develop
climbfuji Feb 3, 2020
21e1c31
Update .gitmodules and submodule pointer for fv3atm for code review a…
climbfuji Feb 5, 2020
3fe4713
Revert change to .gitmodules, update submodule pointer for fv3atm
climbfuji Feb 6, 2020
2919f28
Merge pull request #21 from climbfuji/dom_combine_prs_20200204
climbfuji Feb 6, 2020
e07e3ea
Update tests/rt_intel.conf to reflect removal of GFSv15 and GFSv15plu…
climbfuji Feb 20, 2020
67943a5
Merge pull request #22 from climbfuji/update_rt_intel_cheyenne
climbfuji Feb 20, 2020
d951469
Merge branch 'develop' of https://github.com/ufs-community/ufs-weathe…
climbfuji Feb 28, 2020
8d50b73
CCPP regression test updates from IPD
climbfuji Mar 4, 2020
6150bd4
Update submodule pointer for .gitmodules for code review and testing
climbfuji Mar 4, 2020
b28f277
Bugfix for CCPP IAU test, turn off global c768 tests (frequent out-of…
climbfuji Mar 6, 2020
6e7230e
Remove regional tests that do not run on Cheyenne anyway, they are te…
climbfuji Mar 9, 2020
2d22078
Revert change to .gitmodules, update submodule pointer for FV3
climbfuji Mar 9, 2020
bde9300
Merge pull request #24 from climbfuji/update_dtc_develop_from_emc
climbfuji Mar 9, 2020
2a8b0a1
Merge branch 'develop' of https://github.com/ufs-community/ufs-weathe…
climbfuji Mar 11, 2020
2e485f1
Update submodule pointer for NEMS
climbfuji Mar 11, 2020
1bb0c09
Update .gitmodules and submodule pointer for FV3 for code review and …
climbfuji Mar 12, 2020
91a72c6
Merge branch 'develop' of https://github.com/ufs-community/ufs-weathe…
climbfuji Mar 12, 2020
0b62be9
tests/rt_ccpp_dtc.conf: bugfix, remove test that is no longer exercis…
climbfuji Mar 12, 2020
9a35215
Merge branch 'merge_emc_develop_20200311_after_moorthi_before_dycore_…
climbfuji Mar 12, 2020
edcf5df
Revert change .gitmodules and update submodule pointer for FV3
climbfuji Mar 12, 2020
cf3ba9a
Merge pull request #26 from climbfuji/merge_emc_develop_20200311_afte…
climbfuji Mar 12, 2020
def339f
Update date tag for baseline to 20200313
climbfuji Mar 12, 2020
43467b8
Turn of IPD stochy test, turn off IPD Thompson test, add GSD debug te…
climbfuji Mar 12, 2020
46b67da
Bugfixes to regression test configuration files
climbfuji Mar 13, 2020
103078a
Revert change to .gitmodules, update submodule pointer for fv3atm
climbfuji Mar 13, 2020
028f778
Merge pull request #27 from climbfuji/update_from_dev_emc_20200312_an…
climbfuji Mar 13, 2020
3ff3f62
Support for hera.gnu, compiler-specific baseline directory on hera, m…
climbfuji Mar 16, 2020
24026e9
Update .gitmodules and submodule pointers for FV3 and NEMS for code r…
climbfuji Mar 16, 2020
d260b13
tests/rt_gnu.conf: run GFDLMP tests only on Cheyenne
climbfuji Mar 16, 2020
12cd281
Update submodule pointer for fv3atm
climbfuji Mar 17, 2020
1c9fb8b
Revert change to .gitmodules and update submodule pointer for fv3atm;…
climbfuji Mar 17, 2020
17e457d
Merge pull request #28 from climbfuji/final_pr_before_merging_to_deve…
climbfuji Mar 17, 2020
fa694f0
Update submodule pointer for fv3atm
climbfuji Mar 17, 2020
0d394d7
Update submodule pointer for fv3atm
climbfuji Mar 17, 2020
b48727c
Update submodule pointer for NEMS
climbfuji Mar 17, 2020
59f71d8
Regression test logs for hera.intel
climbfuji Mar 17, 2020
1675593
Regression test logs for NEMSCompsetRun on hera.intel
climbfuji Mar 18, 2020
458b9e1
Regression test logs for wcoss_cray using rt.sh and NEMSCompsetRun
climbfuji Mar 18, 2020
dd693d0
Revert .gitmodules changes for NEMS, and update submodule pointer for…
climbfuji Mar 18, 2020
fcdbf08
Remove fv3_thompson ron from compsets/all.input
climbfuji Mar 18, 2020
aa9621c
Regression test logs for wcoss_dell using rt.sh and NEMSCompsetRun
climbfuji Mar 18, 2020
f02ee41
Update submodule pointer for fv3atm
climbfuji Mar 18, 2020
fc05ce5
Revert change to .gitmdules and update submodule pointer for FV3
climbfuji Mar 19, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions cmake/configure_hera.gnu.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
message("")
message("Setting configuration for $ENV{CMAKE_Platform}")
message("")

get_filename_component (C_COMPILER_NAME ${CMAKE_C_COMPILER} NAME)
get_filename_component (CXX_COMPILER_NAME ${CMAKE_CXX_COMPILER} NAME)
get_filename_component (Fortran_COMPILER_NAME ${CMAKE_Fortran_COMPILER} NAME)
message("C compiler: ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} (${C_COMPILER_NAME})")
message("CXX compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} (${CXX_COMPILER_NAME})")
message("Fortran compiler: ${CMAKE_Fortran_COMPILER_ID} ${CMAKE_Fortran_COMPILER_VERSION} (${Fortran_COMPILER_NAME})")
message("")

option(DEBUG "Enable DEBUG mode" OFF)
option(REPRO "Enable REPRO mode" OFF)
option(VERBOSE "Enable VERBOSE mode" OFF)
option(32BIT "Enable 32BIT (single precision arithmetic in dycore)" OFF)
option(OPENMP "Enable OpenMP threading" ON)
option(AVX2 "Enable AVX2 instruction set" OFF)

option(INLINE_POST "Enable inline post" OFF)

include( cmake/${CMAKE_Fortran_COMPILER_ID}.cmake )

set(NEMSIO_INC $ENV{NEMSIO_INC})
set(POST_INC $ENV{POST_INC})
set(NCEP_LIBS $ENV{POST_LIB} $ENV{NEMSIO_LIB} $ENV{G2_LIB4} $ENV{G2TMPL_LIB} $ENV{BACIO_LIB4} $ENV{SP_LIBd} $ENV{W3EMC_LIBd} $ENV{W3NCO_LIBd} $ENV{CRTM_LIB} $ENV{PNG_LIB} $ENV{JASPER_LIB} $ENV{Z_LIB})

set(ESMF_MOD ${ESMF_F90COMPILEPATHS})
set(ESMF_LIBS "${ESMF_F90ESMFLINKRPATHS} ${ESMF_F90ESMFLINKPATHS} ${ESMF_F90ESMFLINKLIBS}")

set(NETCDF_INC_DIR $ENV{NETCDF}/include)
set(NETCDF_LIBDIR $ENV{NETCDF}/lib)
set(NETCDF_LIBS -L$ENV{NETCDF}/lib -lnetcdff -lnetcdf)

message("")
1 change: 0 additions & 1 deletion compsets/all.input
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ run fv3_gfdlmprad @ fv3, standard, baseline, ww3, plat==hera.intel
run fv3_gfdlmprad_atmwav @ fv3, standard, baseline, ww3, plat==hera.intel,plat==wcoss_dell_p3,plat==wcoss.cray
run fv3_gfdlmprad_gwd @ fv3, standard, baseline
run fv3_gfdlmprad_noahmp @ fv3, standard, baseline
run fv3_thompson @ fv3, standard, baseline
run fv3_wsm6 @ fv3, standard, baseline
run fv3_csawmgshoc @ fv3, standard, baseline
run fv3_rasmgshoc @ fv3, standard, baseline
Expand Down
4 changes: 2 additions & 2 deletions compsets/hera.input
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ platform hera.intel {
# INPUTS is the input directory, which should contain fix and parm
# files, plus any restarts or other inputs.

BASELINE="/scratch1/NCEPDEV/nems/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE_TEMPLATE="/scratch1/NCEPDEV/nems/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE="/scratch1/NCEPDEV/nems/emc.nemspara/RT/NEMSfv3gfs/develop-20200317/INTEL"
BASELINE_TEMPLATE="/scratch1/NCEPDEV/nems/emc.nemspara/RT/NEMSfv3gfs/develop-20200317/INTEL"
INPUTS="@[BASELINE]"

default_resources={
Expand Down
16 changes: 8 additions & 8 deletions compsets/wcoss.input
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ platform wcoss.phase2 {
LONG_TEST_QUEUE='&LONGQ;'
BUILD_QUEUE='&BUILDQ;'
MACHINE_ID='wcoss.phase2'
BASELINE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE_TEMPLATE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317"
BASELINE_TEMPLATE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317"

default_resources={
TASKS=156
Expand Down Expand Up @@ -126,8 +126,8 @@ platform wcoss.phase1 {
C768_THRD=4

MACHINE_ID='wcoss.phase1'
BASELINE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE_TEMPLATE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317"
BASELINE_TEMPLATE="/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317"

# WCOSS Phase 2 has been slow of late.
DEFAULT_TEST_WALLTIME=2700
Expand Down Expand Up @@ -213,8 +213,8 @@ platform wcoss_dell_p3 {
LONG_TEST_QUEUE='&LONGQ;'
BUILD_QUEUE='&BUILDQ;'

BASELINE="/gpfs/dell2/emc/modeling/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227/"
BASELINE_TEMPLATE="/gpfs/dell2/emc/modeling/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227/"
BASELINE="/gpfs/dell2/emc/modeling/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317/"
BASELINE_TEMPLATE="/gpfs/dell2/emc/modeling/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317/"

default_resources={
TASKS=156
Expand Down Expand Up @@ -314,8 +314,8 @@ platform wcoss.cray {
BUILD_WALLTIME="3600"
DEFAULT_TEST_WALLTIME=1800

BASELINE="/gpfs/hps3/emc/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE_TEMPLATE="/gpfs/hps3/emc/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200227"
BASELINE="/gpfs/hps3/emc/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317"
BASELINE_TEMPLATE="/gpfs/hps3/emc/nems/noscrub/emc.nemspara/RT/NEMSfv3gfs/develop-20200317"

execution_time_modules=[[[
module load alps
Expand Down
175 changes: 175 additions & 0 deletions conf/configure.fv3.hera.gnu
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
## NEMS configuration file
##
## Platform: Hera
## Compiler: GNU with OpenMPI

SHELL=/bin/sh

################################################################################
## Include the common configuration parts

ifdef InNemsMakefile
include $(TOP)/conf/configure.nems.NUOPC
endif

############
# commands #
############
FC = mpif90
CC = mpicc
CXX = mpicxx
LD = $(FC)

#########
# flags #
#########
# default is 64-bit OpenMP non-hydrostatic build using AVX2
DEBUG =
REPRO =
VERBOSE =
OPENMP = Y
AVX2 = Y
HYDRO = N
CCPP = N
STATIC = N

include $(ESMFMKFILE)
ESMF_INC = $(ESMF_F90COMPILEPATHS)

NEMSIOINC = -I$(NEMSIO_INC)
NCEPLIBS = $(NEMSIO_LIB) $(BACIO_LIB4) $(SP_LIBd) $(W3EMC_LIBd) $(W3NCO_LIBd)

##############################################
# Need to use at least GNU Make version 3.81 #
##############################################
need := 3.81
ok := $(filter $(need),$(firstword $(sort $(MAKE_VERSION) $(need))))
ifneq ($(need),$(ok))
$(error Need at least make version $(need). Load module gmake/3.81)
endif

NETCDF_ROOT = $(NETCDF)
INCLUDE = -I$(NETCDF_ROOT)/include
NETCDF_INC = -I$(NETCDF_ROOT)/include
ifneq ($(findstring netcdf/4,$(LOADEDMODULES)),)
NETCDF_LIB += -L$(NETCDF)/lib -lnetcdff -lnetcdf
else
NETCDF_LIB += -L$(NETCDF)/lib -lnetcdff -lnetcdf
endif

FPPFLAGS := -cpp -Wp,-w $(INCLUDE)
CFLAGS := $(INCLUDE)

FFLAGS := $(INCLUDE) -fcray-pointer -ffree-line-length-none -fno-range-check -fbacktrace

CPPDEFS += -Duse_libMPI -Duse_netCDF -DSPMD -DUSE_LOG_DIAG_FIELD_INFO -DUSE_GFSL63 -DGFS_PHYS -Duse_WRTCOMP
CPPDEFS += -DNEW_TAUCTMAX -DINTERNAL_FILE_NML -DNO_INLINE_POST

ifeq ($(HYDRO),Y)
CPPDEFS +=
else
CPPDEFS += -DMOIST_CAPPA -DUSE_COND
endif

ifeq ($(NAM_phys),Y)
CPPDEFS += -DNAM_phys
endif

ifeq ($(32BIT),Y)
CPPDEFS += -DOVERLOAD_R4 -DOVERLOAD_R8
FFLAGS +=
else
FFLAGS += -fdefault-real-8 -fdefault-double-8
endif

ifeq ($(AVX2),Y)
FFLAGS +=
CFLAGS +=
else
FFLAGS +=
CFLAGS +=
endif

ifeq ($(MULTI_GASES),Y)
CPPDEFS += -DMULTI_GASES
endif

FFLAGS_OPT = -O2 -fno-range-check
FFLAGS_REPRO = -O2 -g -fbacktrace -fno-range-check
FFLAGS_DEBUG = -g -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fbacktrace -fno-range-check -Wall

TRANSCENDENTALS :=
FFLAGS_OPENMP = -fopenmp
FFLAGS_VERBOSE = -v -V

CFLAGS += -D__IFC

CFLAGS_OPT = -O2
CFLAGS_REPRO = -O2
CFLAGS_OPENMP = -fopenmp
CFLAGS_DEBUG = -O0 -g

# Optional Testing compile flags. Mutually exclusive from DEBUG, REPRO, and OPT
# *_TEST will match the production if no new option(s) is(are) to be tested.
FFLAGS_TEST = -O3
CFLAGS_TEST = -O2

LDFLAGS :=
LDFLAGS_OPENMP := -fopenmp
LDFLAGS_VERBOSE := -Wl,-V,--verbose,-cref,-M

# start with blank LIBS
LIBS :=

ifeq ($(REPRO),Y)
CPPDEFS += -DREPRO
CFLAGS += $(CFLAGS_REPRO)
FFLAGS += $(FFLAGS_REPRO)
FAST :=
else ifeq ($(DEBUG),Y)
CPPDEFS += -DDEBUG
CFLAGS += $(CFLAGS_DEBUG)
FFLAGS += $(FFLAGS_DEBUG)
FAST :=
else ifeq ($(TEST),Y)
CFLAGS += $(CFLAGS_TEST)
FFLAGS += $(FFLAGS_TEST)
FAST :=
else
CFLAGS += $(CFLAGS_OPT)
FFLAGS += $(FFLAGS_OPT)
FAST := $(TRANSCENDENTALS)
endif

ifeq ($(OPENMP),Y)
CPPDEFS += -DOPENMP
CFLAGS += $(CFLAGS_OPENMP)
FFLAGS += $(FFLAGS_OPENMP)
LDFLAGS += $(LDFLAGS_OPENMP)
endif

ifeq ($(VERBOSE),Y)
CFLAGS += $(CFLAGS_VERBOSE)
FFLAGS += $(FFLAGS_VERBOSE)
LDFLAGS += $(LDFLAGS_VERBOSE)
endif

ifeq ($(CCPP),Y)
CPPDEFS += -DCCPP
CFLAGS += -I$(PATH_CCPP)/include
FFLAGS += -I$(PATH_CCPP)/include
ifeq ($(STATIC),Y)
CPPDEFS += -DSTATIC
LDFLAGS += -L$(PATH_CCPP)/lib -lccppphys -lccpp $(NCEPLIBS) -lxml2
else
LDFLAGS += -L$(PATH_CCPP)/lib -lccpp
endif
endif

LDFLAGS += $(LIBS)

ifdef InNemsMakefile
FFLAGS += $(ESMF_INC)
CPPFLAGS += -cpp -traditional
EXTLIBS = $(NCEPLIBS) $(ESMF_LIB) $(LDFLAGS) $(NETCDF_LIB)
endif
Loading