#!/bin/sh compile_all=1 #DEBUG=YES DEBUG=NO source ./module-setup.sh module purge module use $( pwd -P ) module load modules.hera.intel rm standalone_stochy.x FC=mpif90 FMS_INC=${FMS_ROOT}/include_r8 FMS_LIB=${FMS_ROOT}/lib INCS="-I. -I${FMS_INC} -I${NETCDF}/include" if [ $DEBUG == 'YES' ]; then FLAGS=" -O0 -g -check all -link_mpi=dbg_mt -traceback -real-size 64 -qopenmp -c "$INCS else FLAGS=" -traceback -real-size 64 -qopenmp -c "$INCS fi cd .. if [ $compile_all -eq 1 ];then rm -f *.i90 *.i *.o *.mod lib*a $FC ${FLAGS} kinddef.F90 $FC ${FLAGS} mpi_wrapper.F90 $FC ${FLAGS} unit_tests/fv_arrays_stub.F90 $FC ${FLAGS} unit_tests/fv_mp_stub_mod.F90 $FC ${FLAGS} unit_tests/fv_control_stub.F90 $FC ${FLAGS} unit_tests/atmosphere_stub.F90 $FC ${FLAGS} mersenne_twister.F90 $FC ${FLAGS} stochy_internal_state_mod.F90 $FC ${FLAGS} stochy_namelist_def.F90 $FC ${FLAGS} spectral_transforms.F90 $FC ${FLAGS} compns_stochy.F90 $FC ${FLAGS} stochy_patterngenerator.F90 $FC ${FLAGS} stochy_data_mod.F90 $FC ${FLAGS} get_stochy_pattern.F90 $FC ${FLAGS} lndp_apply_perts.F90 $FC ${FLAGS} stochastic_physics.F90 fi ar rv libstochastic_physics.a *.o if [ $DEBUG == 'YES' ]; then $FC -traceback -g -C -real-size 64 -qopenmp -o unit_tests/standalone_stochy.x unit_tests/standalone_stochy.F90 ${INCS} -I${NETCDF}/include -L. -lstochastic_physics -L${FMS_LIB} -lfms_r8 -L${ESMF_LIB} -Wl,-rpath,${ESMF_LIB} -lesmf -L${NETCDF}/lib -lnetcdff -lnetcdf -L${HDF5_LIBRARIES} -lhdf5_hl -lhdf5 \ -L${ZLIB_LIBRARIES} -lz else $FC -traceback -real-size 64 -qopenmp -o unit_tests/standalone_stochy.x unit_tests/standalone_stochy.F90 ${INCS} -I${NETCDF}/include -L. -lstochastic_physics -L${FMS_LIB} -lfms_r8 -L${ESMF_LIB} -Wl,-rpath,${ESMF_LIB} -lesmf -L${NETCDF}/lib -lnetcdff -lnetcdf -L${HDF5_LIBRARIES} -lhdf5_hl -lhdf5 \ -L${ZLIB_LIBRARIES} -lz fi