Changeset 22


Ignore:
Timestamp:
11/25/15 20:33:43 (8 years ago)
Author:
roche
Message:

Petites adaptations diverses du code pour compilation en gfortran. Ajout d un Makefile flexible a option pour choisir ifort ou gfortran.

Location:
trunk/SOURCES
Files:
39 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/SOURCES/Fichiers-parametres/Makefile.tof-lsce3130.inc

    r14 r22  
    2020# lit le nom du fichier param pour lancer sur r2d2 par une commande :   echo jobparam | LBQ.... 
    2121 
    22 JOB = 'job'  
     22JOB = 'job' 
    2323 
    2424 
     
    3131#MKL_LIB   = -L$(DIRLOCAL)/intel/mkl9/lib/32 -lmkl_lapack -lmkl_ia32 -lguide -lpthread 
    3232#MKL_LIB  = -L$(DIRLOCAL)/intel/mkl10/lib/32  -lmkl -lguide -lpthread #  -lmklapack 
    33 MKL_LIB = -L$MKLROOT/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread 
    34 export $MKL_LIB 
     33 
     34ifeq ($(mkl_c), 1) 
     35    MKL_LIB = -L$MKLROOT/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread 
     36    export $MKL_LIB 
     37endif 
    3538 
    3639IFORT= ifort 
     
    4750F_NETCDF  = $(IFORT) $(ARITHM) -c  -I$(NCDF_INC) # -traceback  -CB   #-g #-pg -ipo # -g 
    4851FT        = $(IFORT) $(ARITHM) -c  -I$(NCDF_INC) # -traceback  -CB  #-g #-pg -ipo # -g 
     52F_90      = -w90 
    4953 
    5054 
  • trunk/SOURCES/GrIce2sea_files/climat_GrIce2sea_years_mod.f90

    r15 r22  
    8787  namelist/clim_smb_T_gen/smb_file,coef_smb_unit,temp_annual_file 
    8888 
     89! dmr moved up since namelist declaration should be in the header 
     90 
     91  namelist/clim_snap/nb_snap,time_depart_snaps,ecart_snap,file_smb_snap,massb_time 
     92 
    8993428 format(A) 
    9094  rewind(num_param)                     ! pour revenir au debut du fichier param_list.dat 
     
    145149!lecture namelist  
    146150 
    147   namelist/clim_snap/nb_snap,time_depart_snaps,ecart_snap,file_smb_snap,massb_time 
    148151 
    149152  rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
  • trunk/SOURCES/Makefile

    r5 r22  
    55#------------------------------------------- 
    66 
    7 include Fichiers-parametres/Makefile.tof-lsce3130.inc 
    8 #include Fichiers-parametres/Makefile.catritz-pc226.inc 
    9 # include Fichiers-parametres/Makefile.pc246.inc 
     7#------------------------------------------- 
     8# dmr: Added options for a more flexible Makefile with the two compilers inbedded 
     9#------------------------------------------- 
    1010 
     11# Choice for compiler (ifort = 1, gfortran = 0) 
     12ifort ?= 0 
     13 
     14# Choice for librairies (mkl_c = 1 = MKL,  = 0 = BLAS) 
     15# NOTA: mkl_c = 1 with ifort = 0 ignores the MKL and uses BLAS anyhow 
     16mkl_c ?= 1 
     17 
     18ifeq ($(ifort),1) 
     19  include Fichiers-parametres/Makefile.tof-lsce3130.inc 
     20else 
     21  include Fichiers-parametres/Makefile.dmr-lsce3027.inc 
     22endif 
    1123 
    1224#     Compilation (le corps du Makefile) 
    1325#------------------------------------------- 
    14 include Makefile.grisli.inc 
     26 
     27ifeq ($(ifort),1) 
     28  include Makefile.grisli.inc 
     29else 
     30  include Makefile.grisli-gfortran.inc 
     31endif 
  • trunk/SOURCES/Makefile.grisli.inc

    r18 r22  
    1111#JOB = 'job' 
    1212 
    13 # pour lancer  
     13# pour lancer 
    1414# sur pc: nohup `echo job-test | LBqAntar-15` &    ou echo job-test | LBqAntar-15 
    1515# sur r2d2 le mettre dans job*sh 
     
    2424mod_ell             = remplimat_declar_tabTu_mod.o eq_ellipt_sgbsv_mod-0.2.o 
    2525routine_elliptiques = remplimat-shelves-tabTu.o graphique_L2.o graph-sgbsv.o 
    26 diagnoshelf         = diagno-L2_mod.o  
     26diagnoshelf         = diagno-L2_mod.o 
    2727#diagnoshelf         = fake_diagno_mod.o 
    2828 
     
    122122 
    123123# Toy est la version juin 2012 avec Schooffing 
     124 
    124125toy_recul = toy_declar_3D_grisli_mod.o \ 
    125126        declar_io_ncdf_toy_mod_fake.o\ 
     
    261262        module_choix-gsearise.o track_gsearise_mod.o  
    262263 
    263  
    264264# listes de dimensionnement (dependent de la geographie) 
    265265#----------------------------- 
     
    291291Dim_gsearise05 = paradim-gsearise05_mod.o geography-gsearise05_mod.o 
    292292 
     293# Liste_BLAS = band.o reduc.o \ 
     294#       BLAS/isamax.o BLAS/lsame.o BLAS/scopy.o BLAS/sgbmv.o BLAS/sgemm.o \ 
     295#       BLAS/sgemv.o  BLAS/sger.o BLAS/sscal.o BLAS/sswap.o BLAS/stbsv.o \ 
     296#       BLAS/strsm.o BLAS/xerbla.o 
     297ifeq ($(mkl_c), 0) 
    293298Liste_BLAS = band.o reduc.o \ 
    294         BLAS/isamax.o BLAS/lsame.o BLAS/scopy.o BLAS/sgbmv.o BLAS/sgemm.o \ 
    295         BLAS/sgemv.o  BLAS/sger.o BLAS/sscal.o BLAS/sswap.o BLAS/stbsv.o \ 
     299        BLAS/isamax.o BLAS/lsame.o BLAS/scopy.o \ 
     300        BLAS/slamch.o BLAS/slabad.o BLAS/slange.o \ 
     301        BLAS/slassq.o BLAS/sgeqrf.o BLAS/sormqr.o \ 
     302        BLAS/strmv.o BLAS/slarft.o \ 
     303        BLAS/ilaslr.o BLAS/ilaslc.o BLAS/strmm.o \ 
     304        BLAS/slarfb.o BLAS/slapy2.o BLAS/slarfg.o BLAS/slarf.o \ 
     305        BLAS/sgeqr2.o BLAS/sorm2r.o BLAS/snrm2.o \ 
     306        BLAS/slaqps.o BLAS/slaqp2.o BLAS/sgeqp3.o \ 
     307        BLAS/slaset.o BLAS/slaisnan.o BLAS/sisnan.o \ 
     308        BLAS/slascl.o BLAS/sdot.o BLAS/slaic1.o \ 
     309        BLAS/slarzb.o BLAS/slarzt.o \ 
     310        BLAS/saxpy.o BLAS/slarz.o BLAS/sormr3.o \ 
     311        BLAS/sormrz.o BLAS/slatrz.o BLAS/stzrzf.o BLAS/sgelsy.o \ 
     312        BLAS/sgbmv.o BLAS/sgemm.o BLAS/sgemv.o  BLAS/sger.o \ 
     313        BLAS/sscal.o BLAS/sswap.o BLAS/stbsv.o \ 
    296314        BLAS/strsm.o BLAS/xerbla.o 
    297315 
     316endif 
    298317 
    299318# ancienne methode 
     
    611630# nouveaux modules climat C. Dumas Fev 2015 
    612631climat_forcage_mois_mod.o : climat_forcage_mois_mod.f90 
    613         $(FT) climat_forcage_mois_mod.f90 
     632        $(F_NETCDF) climat_forcage_mois_mod.f90 
    614633 
    615634climat-forcage-insolation_mod_oneway.o : climat-forcage-insolation_mod_oneway.f90 
    616         $(FT) climat-forcage-insolation_mod_oneway.f90 
     635        $(F_NETCDF) climat-forcage-insolation_mod_oneway.f90 
    617636 
    618637climat-forcage-insolation_mod.o : climat-forcage-insolation_mod.f90 
    619         $(FT) climat-forcage-insolation_mod.f90 
     638        $(F_NETCDF) climat-forcage-insolation_mod.f90 
    620639 
    621640ablation_mod.o : ablation_mod.f90 
     
    631650 
    632651climat_GrIce2sea_years_mod.o : GrIce2sea_files/climat_GrIce2sea_years_mod.f90 
    633         $(FT) GrIce2sea_files/climat_GrIce2sea_years_mod.f90 
     652        $(F_NETCDF) GrIce2sea_files/climat_GrIce2sea_years_mod.f90 
    634653 
    635654climat-forcage-stat-mois_mod-0.1.o : climat-forcage-stat-mois_mod-0.1.f90 
     
    13601379# Routines venant de bibliotheques exterieures 
    13611380reduc.o : reduc.f#module3d.mod 
    1362         $(FT) -w90 reduc.f 
     1381        $(FT) $(F_90) reduc.f 
    13631382 
    13641383# band vient de Lapack 
    13651384band.o: band.f 
    1366         $(FT) -w90 band.f 
     1385        $(FT) $(F_90) band.f 
     1386 
     1387ifeq ($(mkl_c), 0) 
     1388#BLAS 
     1389isamax.o : BLAS/isamax.f 
     1390        $(FT)  BLAS/isamax.f 
     1391lsame.o : BLAS/lsame.f 
     1392        $(FT) BLAS/lsame.f 
     1393scopy.o: BLAS/scopy.f 
     1394        $(FT) BLAS/scopy.f 
     1395slamch.o: BLAS/slamch.f 
     1396        $(FT) BLAS/slamch.f 
     1397slabad.o: BLAS/slabad.f 
     1398        $(FT) BLAS/slabad.f 
     1399slange.o: BLAS/slange.f 
     1400        $(FT) BLAS/slange.f 
     1401slassq.o: BLAS/slassq.f 
     1402        $(FT) BLAS/slassq.f 
     1403sgeqrf.o: BLAS/sgeqrf.f 
     1404        $(FT) BLAS/sgeqrf.f 
     1405sormqr.o: BLAS/sormqr.f 
     1406        $(FT) BLAS/sormqr.f 
     1407strmv.o: BLAS/strmv.f 
     1408        $(FT) BLAS/strmv.f 
     1409slarft.o: BLAS/slarft.f 
     1410        $(FT) BLAS/slarft.f 
     1411ilaslr.o: BLAS/ilaslr.f 
     1412        $(FT) BLAS/ilaslr.f 
     1413ilaslc.o: BLAS/ilaslc.f 
     1414        $(FT) BLAS/ilaslc.f 
     1415strmm.o: BLAS/strmm.f 
     1416        $(FT) BLAS/strmm.f 
     1417slarfb.o: BLAS/slarfb.f 
     1418        $(FT) BLAS/slarfb.f 
     1419slapy2.o: BLAS/slapy2.f 
     1420        $(FT) BLAS/slapy2.f 
     1421slarfg.o: BLAS/slarfg.f 
     1422        $(FT) BLAS/slarfg.f 
     1423slarf.o: BLAS/slarf.f 
     1424        $(FT) BLAS/slarf.f 
     1425sgeqr2.o: BLAS/sgeqr2.f 
     1426        $(FT) BLAS/sgeqr2.f 
     1427saxpy.o: BLAS/saxpy.f 
     1428        $(FT) BLAS/saxpy.f 
     1429slarz.o: BLAS/slarz.f 
     1430        $(FT) BLAS/slarz.f 
     1431sorm2r.o: BLAS/sorm2r.f 
     1432        $(FT) BLAS/sorm2r.f 
     1433snrm2.o: BLAS/snrm2.f 
     1434        $(FT) BLAS/snrm2.f 
     1435slaqps.o: BLAS/slaqps.f 
     1436        $(FT) BLAS/slaqps.f 
     1437slaqp2.o: BLAS/slaqp2.f 
     1438        $(FT) BLAS/slaqp2.f 
     1439sgeqp3.o: BLAS/sgeqp3.f 
     1440        $(FT) BLAS/sgeqp3.f 
     1441slaset.o: BLAS/slaset.f 
     1442        $(FT) BLAS/slaset.f 
     1443slaisnan.o: BLAS/slaisnan.f 
     1444        $(FT) BLAS/slaisnan.f 
     1445sisnan.o: BLAS/sisnan.f 
     1446        $(FT) BLAS/sisnan.f 
     1447slascl.o: BLAS/slascl.f 
     1448        $(FT) BLAS/slascl.f 
     1449sdot.o: BLAS/sdot.f 
     1450        $(FT) BLAS/sdot.f 
     1451slaic1.o: BLAS/slaic1.f 
     1452        $(FT) BLAS/slaic1.f 
     1453slarzb.o: BLAS/slarzb.f 
     1454        $(FT) BLAS/slarzb.f 
     1455slarzt.o: BLAS/slarzt.f 
     1456        $(FT) BLAs/slarzt.f 
     1457sormr3.o: BLAS/sormr3.f 
     1458        $(FT) BLAS/sormr3.f 
     1459sormrz.o: BLAS/sormrz.f 
     1460        $(FT) BLAS/sormrz.f 
     1461slatrz.o: BLAS/slatrz.f 
     1462        $(FT) BLAS/slatrz.f 
     1463stzrzf.o: BLAS/stzrzf.f 
     1464        $(FT) BLAS/stzrzf.f 
     1465sgelsy.o: BLAS/sgelsy.f 
     1466        $(FT) BLAS/sgelsy.f 
     1467sgbmv.o: BLAS/sgbmv.f 
     1468        $(FT) BLAS/sgbmv.f 
     1469sgemm.o: BLAS/sgemm.f 
     1470        $(FT) BLAS/sgemm.f 
     1471sgemv.o: BLAS/sgemv.f 
     1472        $(FT) BLAS/sgemv.f 
     1473sger.o: BLAS/sger.f 
     1474        $(FT) BLAS/sger.f 
     1475sscal.o: BLAS/sscal.f 
     1476        $(FT) BLAS/sscal.f 
     1477sswap.o: BLAS/sswap.f 
     1478        $(FT) BLAS/sswap.f 
     1479stbsv.o: BLAS/stbsv.f 
     1480        $(FT) BLAS/stbsv.f 
     1481strsm.o: BLAS/strsm.f 
     1482        $(FT) BLAS/strsm.f 
     1483xerbla.o: BLAS/xerbla.f 
     1484        $(FT) BLAS/xerbla.f 
     1485 
     1486endif 
    13671487 
    13681488# routines netcdf 
     
    14191539 
    14201540toy_retreat_mod.o  : Recul_force_grounding_line/toy_retreat_mod.f90 
    1421         $(FT) Recul_force_grounding_line/toy_retreat_mod.f90 
     1541        $(F_NETCDF) Recul_force_grounding_line/toy_retreat_mod.f90 
    14221542 
    14231543 
     
    15461666        $(Liste_Netcdf) \ 
    15471667        $(routines_communes) steps_time_loop.o \ 
    1548         $(routine_elliptiques) 
     1668        $(routine_elliptiques) \ 
     1669        $(Liste_BLAS) 
    15491670 
    15501671        $(LK) -o  ../bin/Hemin-40 \ 
     
    15591680        $(Liste_Netcdf) \ 
    15601681        $(routines_communes) steps_time_loop.o \ 
    1561         $(routine_elliptiques) $(NCDF_LIB)  $(MKL_LIB) 
     1682        $(routine_elliptiques) $(NCDF_LIB)  $(MKL_LIB) $(Liste_BLAS) 
    15621683 
    15631684Hemin-15 : $(Dim_hemin15) $(mod_dim_communs) \ 
     
    16951816 
    16961817clean   : 
    1697         rm -f *.o *.mod *~  */*~ 
     1818        rm -f *.o *.mod *~  */*~ BLAS/*.o 
    16981819 
    16991820 
  • trunk/SOURCES/Netcdf-routines/sortie_netcdf_GRISLI_mod.0.2-hassine.f90

    r19 r22  
    10301030! pour les classe 3, sortir les champs 2D necessaires 
    10311031 
    1032                    if (cvar_nc(l) .eq. 3 .and. fait .eq. .FALSE.) then     
     1032                   if (cvar_nc(l) .eq. 3 .and. fait .eqv. .FALSE.) then     
    10331033 
    10341034                      boucle_var2: do p=1,ntab 
  • trunk/SOURCES/Recul_force_grounding_line/toy_retreat_mod.f90

    r4 r22  
    809809subroutine calc_eps_max   
    810810 
    811   use declar_toy_retreat 
     811  use declar_toy_retreat, only: 
    812812  implicit none 
    813813  real              :: gamma   !< coefficient de flottaison 
  • trunk/SOURCES/climat_forcage_mois_mod.f90

    r18 r22  
    153153  namelist/snap_forcage_mois/filtr_t1,filtr_p1 
    154154 
     155! dmr moved up since namelist declaration should be in the header 
     156  namelist/lapse_month/lect_lapse 
     157 
    155158! formats pour les ecritures dans 42 
    156159428 format(A) 
     
    166169 
    167170! lapserate 
    168   namelist/lapse_month/lect_lapse 
    169171  rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
    170172  read(num_param,lapse_month) 
  • trunk/SOURCES/initial-phy-2.f90

    r10 r22  
    140140  read(num_param,timesteps) 
    141141 
    142   namelist/timesteps/dtmin,dtmax,dtt,testdiag,tbegin,tend 
     142! dmr&aurel ##  namelist/timesteps/dtmin,dtmax,dtt,testdiag,tbegin,tend 
    143143  write(num_rep_42,428)'!___________________________________________________________'   
    144144  write(num_rep_42,428) '&timesteps                 ! bloc time steps' 
  • trunk/SOURCES/minmax-format.f90

    r4 r22  
    2525character(len=8) :: ff 
    2626character(len=3) :: f1 
     27! dmr&aurel for gfortran compilation ... 
     28character(len=1) :: dumf1 
    2729 
    2830integer  ::  if1,if2,ipos,ipos2,n1,if3 
     
    4648 
    4749f1=ff(2:ipos-1) ! sous string contenant le premier chiffre 
    48 if1=inum(f1)    ! valeur numerique du premier chiffre 
     50 
     51! dmr&aurel inum is not a std intrinsic 
     52dumf1 = f1(1:2) 
     53if1 = ichar(dumf1)-ichar('0') 
     54! dmr&aurel if1=inum(f1)    ! valeur numerique du premier chiffre 
    4955 
    5056print*, 'if1=',if1 
     
    5258print*, 'f1= ',trim(f1)//'***'  
    5359f1=adjustr(f1) 
    54 if2=inum(f1)       ! valeur numerique 
     60! dmr&aurel inum is not a std intrinsic 
     61dumf1 = f1(1:2) 
     62if2 = ichar(dumf1)-ichar('0') 
     63! if2=inum(f1)       ! valeur numerique 
    5564print*, 'if2=',if2 
    5665 
     
    7685ipos2=index(ff,' ') 
    7786f1=ff(2:ipos2-1) ! sous string contenant le  chiffre 
    78 if1=inum(f1)    ! valeur numerique du premier chiffre 
     87! dmr&aurel inum is not a std intrinsic 
     88dumf1 = f1(1:2) 
     89if1 = ichar(dumf1)-ichar('0') 
     90! if1=inum(f1)    ! valeur numerique du premier chiffre 
    7991n1=if1-1 
    8092valmin=int(-(10**n1))+1 
  • trunk/SOURCES/spinup_mod.f90

    r4 r22  
    209209             coef_defmx(i,j) = 1. 
    210210             Uxbar(i,j)      = Vcol_x(i,j) 
    211              flgzmx(i,j)     = Vcol_x(i,j) 
     211             flgzmx(i,j)     = transfer(Vcol_x(i,j),flgzmx(i,j)) 
    212212             uxdef(i,j)      = 0. 
    213213             Ubx(i,j)        = Vcol_x(i,j) 
     
    250250             coef_defmy(i,j) = 1. 
    251251             Uybar(i,j)      = Vcol_y(i,j) 
    252              flgzmy(i,j)     = Vcol_y(i,j) 
     252             flgzmy(i,j)     = transfer(Vcol_y(i,j),flgzmy(i,j)) 
    253253             uydef(i,j)      = 0. 
    254254             Uby(i,j)        = Vcol_y(i,j) 
Note: See TracChangeset for help on using the changeset viewer.