Changeset 977 for codes/icosagcm/devel/make_python
- Timestamp:
- 09/26/19 18:49:01 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/make_python
r941 r977 13 13 rm -rf *.o *.so build/ 14 14 } 15 16 #------------------ Default action , invoked by : './make_python' --------------------17 15 18 16 function make_so() … … 33 31 } 34 32 35 36 function cmd_() 33 function check_python_modules() 37 34 { 38 echo "XIOS_ROOTDIR : $XIOS_ROOTDIR"39 35 MISSING="" 40 for module in netCDF4 jinja2 mpi4py; do36 for module in $*; do 41 37 echo "import $module" 42 38 python -c "import $module" || MISSING="$MISSING $module" … … 49 45 exit 50 46 fi 47 } 51 48 52 log mpicc -c -std=c99 -fPIC $PARMETIS_CFLAGS Python/src/partition.c -o obj/partition.o 53 make_so $XIOS_ROOTDIR/lib/libxios.a $LIBDIR/libxios.so "$NETCDF_LDFLAGS -lstdc++" 54 make_so $LIBDIR/libicosa.a $LIBDIR/libicosa.so "-L$LIBDIR -lxios $KERNELS_LDFLAGS" "physics_external_mod.o physics_mod.o timeloop_gcm_mod.o icosa_init_mod.o" obj/partition.o 55 56 # Cythonize Python modules 57 cd $DYNAMICO_ROOT/Python/src 58 NUMPY=$(python -c 'import numpy as np ; print np.get_include()') 59 CYTHONFLAGS="$SOFLAGS $LDFLAGS -L$LIBDIR -licosa $KERNELS_LDFLAGS" 60 LDSHARED="$LINK" CFLAGS="-fno-strict-aliasing -O2 -I$NUMPY" LDFLAGS="$CYTHONFLAGS" log python setup.py build_ext --inplace || exit 61 62 cp -fpr $DYNAMICO_ROOT/Python/dynamico $DYNAMICO_ROOT/lib 63 cp -fp *.so $DYNAMICO_ROOT/lib/dynamico/dev/ 49 function check_dynamico_modules() 50 { 64 51 cd $DYNAMICO_ROOT 65 66 for module in dev.cxios dev.unstructured meshes dyn time_step DCMIP; do 52 for module in $*; do 67 53 echo "import dynamico.$module" 68 54 LD_PRELOAD=$PYTHON_PRELOAD python -c "import dynamico.$module" 69 55 done 70 56 } 57 58 function cythonize() 59 { 60 EXTRA=$1 61 NUMPY=$(python -c 'import numpy as np ; print np.get_include()') 62 CYTHONFLAGS="$SOFLAGS $LDFLAGS -L$LIBDIR $KERNELS_LDFLAGS $EXTRA" 63 CC=mpicc LDSHARED="$LINK" CFLAGS="-fno-strict-aliasing -O2 -I$NUMPY $PARMETIS_CFLAGS" LDFLAGS="$CYTHONFLAGS" log python setup.py build_ext --inplace || exit 64 rm -rf build *.c # temp files 65 } 66 67 #------------------ Default action , invoked by : './make_python' -------------------- 68 69 function make_user() 70 { 71 check_python_modules netCDF4 mpi4py 72 # Cythonize Python modules 73 cd $DYNAMICO_ROOT/Python/dynamico 74 cythonize 75 rm -rf build *.c # temp files 76 cp -fpr $DYNAMICO_ROOT/Python/dynamico $DYNAMICO_ROOT/lib 77 check_dynamico_modules partition meshes dyn time_step DCMIP 78 } 79 80 function make_dev() 81 { 82 check_python_modules jinja2 83 echo "XIOS_ROOTDIR : $XIOS_ROOTDIR" 84 85 make_so $XIOS_ROOTDIR/lib/libxios.a $LIBDIR/libxios.so "$NETCDF_LDFLAGS -lstdc++" 86 make_so $LIBDIR/libicosa.a $LIBDIR/libicosa.so "-L$LIBDIR -lxios $KERNELS_LDFLAGS" "physics_external_mod.o physics_mod.o timeloop_gcm_mod.o icosa_init_mod.o" 87 88 cd $DYNAMICO_ROOT/Python/dev 89 cythonize "-licosa" 90 cp -fpr $DYNAMICO_ROOT/Python/dev $DYNAMICO_ROOT/lib/dynamico/ 91 check_dynamico_modules dev.cxios dev.unstructured 92 } 93 94 function cmd_() 95 { 96 make_user 97 } 98 99 function cmd_dev() 100 { 101 make_user 102 make_dev 103 } 104 71 105 72 106 #------------------------- script starts here ------------------------
Note: See TracChangeset
for help on using the changeset viewer.