#! /bin/csh -f

#===============================================================================
# Build time settings
#===============================================================================

#if (-e /usr/share/modules/init/csh) then
#  source /usr/share/modules/init/csh
#  source /hafs_x86_64/devel/share/Modules/init/csh
#  module load subversion
if (-e ${MODULESHOME}/init/csh) then
  source ${MODULESHOME}/init/csh
  module reset >& /dev/null
  #module avail
else
  echo "ERROR: Failed to initialize modules"
  exit -1
endif

# invoking modules sets $MPICH_DIR and $CRAY_NETCDF_DIR

if ( $COMPILER == "intel" ) then
  module --force purge
#  module unload netcdf
#  module unload gnu
#  module unload pgi
#  module unload intel
#  module unload mpt

  module load ncarenv/23.06
  module load craype
#  module load intel-classic/2023.0.0
  module load intel/2023.0.0
  module load ncarcompilers
  module load cray-mpich/8.1.25
#  module load netcdf/4.9.1
  module load netcdf-mpi/4.9.2
#  module load pnetcdf/1.12.2
  module load parallel-netcdf/1.12.3
  module load cray-libsci/23.02.1.1

#  module list
endif

setenv NETCDF_PATH $NETCDF
setenv PNETCDF_PATH $PNETCDF
#setenv NETCDF_PATH `pkg-config --variable=prefix netcdf-fortran`
#setenv PNETCDF_PATH `pkg-config --variable=prefix pnetcdf`
#setenv LD_LIBRARY_PATH ${NETCDF_PATH}/lib:$LD_LIBRARY_PATH

#-------------------------------------------------------------------------------
# Runtime environment variables
#-------------------------------------------------------------------------------

limit coredumpsize unlimited
limit stacksize unlimited
setenv FI_CXI_RX_MATCH_MODE hybrid

setenv MPICH_ENV_DISPLAY 1
setenv MPICH_VERSION_DISPLAY 1
setenv OMP_STACKSIZE 64M
#setenv NGPUS 0

#setenv MPI_TYPE_DEPTH 20

#setenv MPI_IB_RNR_TIMER 26
#setenv MPI_IB_TIMEOUT 22  
#setenv MPI_IB_SERVICE_LEVEL 1
#setenv MPI_VERBOSE true      
#unsetenv MPI_IB_CONGESTED

setenv MPICH_MPIIO_HINTS "*:romio_cb_read=enable:romio_cb_write=enable:striping_factor=2"
setenv WRFIO_NCD_LARGE_FILE_SUPPORT 1
setenv WRF_EM_CORE 1
