Ignore:
Timestamp:
Mar 6, 2015, 3:12:12 PM (10 years ago)
Author:
emillour
Message:

Common dynamical core:
Updates in the dynamics to keeup up with updates in LMDZ5
(up to LMDZ5 trunk rev 2200):

  • compilation:
  • create_make_gcm : added processing of .f & .f90 files (not just .F and .F90)
  • makelmdz: add "mix" option for -io (ouptut with both IOIPSL and XIOS)
  • makelmdz_fcm: add "mix" option for -io
  • filtrez:
  • acc.F and eigen.F : add "implicit none" and variable declarations
  • bibio:
  • handle_err_m.F90: replace "stop" with call to abort_gcm()
  • i1mach.F, j4save.F: add "implicit none" and variable declarations
  • xercnt.F, xermsg.F, xerprn.F, xersve.F, xgetua.F: add "implicit none" and variable declarations
  • dyn3d_common:
  • disvert.F90 : added comments on meaning of "pa" variable
  • grid_atob.F : better control on level of default ouputs
  • infotrac.F90: update Earth-specific stuff (nqo water tracers)
  • interpre.F: correction on the size of input array w
  • juldate.F, massbar.F, ppm3d.F, ran1.F: add "implicit none" and variable declarations
  • sortvarc.F: code cleanup
  • iniacademic.F90: cleanup and extra sanity check.
  • dyn3d:
  • abort_gcm.F: additions for XIOS
  • conf_gcm.F90: transformed to free form from conf_gcm.F
  • gcm.F: added test to check that iphysiq is a multiple of iperiod
  • getparam.F90, guidz_mod.F: update from LMDZ5
  • integrd.F: replace stop with call_abort()
  • dyn3dpar:
  • abort_gcm.F: minor cleanup
  • gcm.F: added test to check that iphysiq is a multiple of iperiod
  • getparam.F90, guide_p_mod.F90: update from LMDZ5
  • integrd_p.F: abort with call_abort when there is negative surface pressure
  • leapfrog_p.F: add INCA specific stuff to keep up with current LMDZ5
  • conf_gcm.F90: transformed to free form from conf_gcm.F

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/makelmdz

    r1302 r1391  
    118118[-parallel none/mpi/omp/mpi_omp] : parallelism (default: none) : mpi, openmp or mixted mpi_openmp
    119119[-g GRI]                   : grid configuration in dyn3d/GRI_xy.h  (default: reg, inclues a zoom)
    120 [-io IO]                   : Input/Output library (default: ioipsl)
     120[-io ioipsl/mix/xios]                   : Input/Output library (default: ioipsl)
    121121[-include INCLUDES]        : extra include path to add
    122122[-cpp CPP_KEY]             : additional preprocessing definitions
     
    209209
    210210###############################################################
    211 # lecture des chemins propres à l'architecture de la machine #
     211# lecture des chemins propres \`a l'architecture de la machine #
    212212###############################################################
    213213rm -f .void_file
     
    424424   INCLUDE="$INCLUDE -I${IOIPSL_INCDIR}"
    425425   LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl"
    426 elif [[ $io == xios ]]
     426elif [[ $io == mix ]]
    427427then
    428428   # For now, xios implies also using ioipsl
    429429   CPP_KEY="$CPP_KEY CPP_IOIPSL CPP_XIOS"
     430   INCLUDE="$INCLUDE -I${IOIPSL_INCDIR} -I${XIOS_INCDIR}"
     431   LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl -L${XIOS_LIBDIR} -l${LIBPREFIX}stdc++ -l${LIBPREFIX}xios"
     432elif [[ $io == xios ]]
     433then
     434   # For now, xios implies also using ioipsl
     435   CPP_KEY="$CPP_KEY CPP_IOIPSL CPP_XIOS CPP_IOIPSL_NO_OUTPUT"
    430436   INCLUDE="$INCLUDE -I${IOIPSL_INCDIR} -I${XIOS_INCDIR}"
    431437   LIB="$LIB -L${IOIPSL_LIBDIR} -l${LIBPREFIX}ioipsl -L${XIOS_LIBDIR} -l${LIBPREFIX}stdc++ -l${LIBPREFIX}xios"
     
    551557cd $LMDGCM
    552558
    553 #cleanup for a full recompilation, if requested
     559########################################################################
     560# library directory name:
     561########################################################################
     562
     563nomlib=`echo ${arch}_${physique}_${dim_full}_${grille}_${compil_mod}_parall${parallel}_${CPP_KEY}_${FLAG_PARA} | sed -e 's/ //g' -e 's/-//g ' | sed -e 's/CPP_//g'`
     564echo "Path to library: "$nomlib
     565
     566########################################################################
     567#  Cleanup for a full recompilation, if requested
     568########################################################################
     569
    554570if [[ $full == "full" ]]
    555571then
    556 # remove makefile and $libo/*
    557   cd $LMDGCM
     572# remove makefile and libraries
     573  echo "-full option: recompiling from scratch"
    558574  \rm -f makefile
    559   \rm -rf $LIBOGCM/*
     575  \rm -rf "${LIBOGCM}/${nomlib}"
    560576fi
    561577
     
    650666  fi
    651667fi
    652 
    653 # library directory name:
    654 nomlib=`echo ${arch}_${physique}_${dim_full}_${grille}_${compil_mod}_parall${parallel}_${CPP_KEY}_${FLAG_PARA} | sed -e 's/ //g' -e 's/-//g ' | sed -e 's/CPP_//g'`
    655 echo $nomlib
    656668
    657669if [[ ! -d "${LIBOGCM}/${nomlib}" ]]
Note: See TracChangeset for help on using the changeset viewer.