Changeset 957


Ignore:
Timestamp:
May 10, 2013, 3:00:01 PM (12 years ago)
Author:
emillour
Message:

Common dynamics:

  • Add possibility to read a traceur.def with a different format; ie: traceur.def file with lines such as "name hadv vadv" where hadv and vadv are advection scheme number , or even just "name" on each line (advections shceme then defaults to 10, the standard VanLeer? scheme)
  • Add the "-s" (number of radiatively active scatterres) and "-b" (number of bands in the IR and visible) options to scripts makelmdz and makelmdz_fcm. Using these options only makes sense if compiling with generic physics.

EM

Location:
trunk/LMDZ.COMMON
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d/infotrac.F90

    r492 r957  
    6767 
    6868    INTEGER :: nqtrue  ! number of tracers read from tracer.def, without higer order of moment
    69     INTEGER :: iq, new_iq, iiq, jq, ierr
     69    INTEGER :: iq, new_iq, iiq, jq, ierr, ierr2, ierr3
     70   
     71    character(len=80) :: line ! to store a line of text
    7072 
    7173    character(len=*),parameter :: modname="infotrac_init"
     
    269271          ! Continue to read tracer.def
    270272          DO iq=1,nqtrue
    271              READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
    272           END DO
     273             !READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
     274            ! try to be smart when reading traceur.def
     275            read(90,'(80a)') line ! store the line from traceur.def
     276            ! assume format is hadv,vadv,tnom_0
     277            read(line,*,iostat=ierr2) hadv(iq),vadv(iq),tnom_0(iq)
     278            if (ierr2.ne.0) then
     279              ! maybe format is tnom0,hadv,vadv
     280              read(line,*,iostat=ierr3) tnom_0(iq),hadv(iq),vadv(iq)
     281              if (ierr3.ne.0) then
     282                ! assume only tnom0 is provided (havd and vad default to 10)
     283                read(line,*) tnom_0(iq)
     284                hadv(iq)=10
     285                vadv(iq)=10
     286              endif
     287            endif ! of if(ierr2.ne.0)
     288          END DO ! of DO iq=1,nqtrue
    273289          CLOSE(90) 
    274290       ELSE ! Without tracer.def
  • trunk/LMDZ.COMMON/libf/dyn3dpar/infotrac.F90

    r492 r957  
    6767 
    6868    INTEGER :: nqtrue  ! number of tracers read from tracer.def, without higer order of moment
    69     INTEGER :: iq, new_iq, iiq, jq, ierr
     69    INTEGER :: iq, new_iq, iiq, jq, ierr, ierr2, ierr3
     70   
     71    character(len=80) :: line ! to store a line of text
    7072 
    7173    character(len=*),parameter :: modname="infotrac_init"
     
    269271          ! Continue to read tracer.def
    270272          DO iq=1,nqtrue
    271              READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
    272           END DO
     273             !READ(90,*) hadv(iq),vadv(iq),tnom_0(iq)
     274            ! try to be smart when reading traceur.def
     275            read(90,'(80a)') line ! store the line from traceur.def
     276            ! assume format is hadv,vadv,tnom_0
     277            read(line,*,iostat=ierr2) hadv(iq),vadv(iq),tnom_0(iq)
     278            if (ierr2.ne.0) then
     279              ! maybe format is tnom0,hadv,vadv
     280              read(line,*,iostat=ierr3) tnom_0(iq),hadv(iq),vadv(iq)
     281              if (ierr3.ne.0) then
     282                ! assume only tnom0 is provided (havd and vad default to 10)
     283                read(line,*) tnom_0(iq)
     284                hadv(iq)=10
     285                vadv(iq)=10
     286              endif
     287            endif ! of if(ierr2.ne.0)
     288          END DO ! of DO iq=1,nqtrue
    273289          CLOSE(90) 
    274290       ELSE ! Without tracer.def
  • trunk/LMDZ.COMMON/makelmdz

    r887 r957  
    2424fcm_path=none
    2525cosp=false
     26bands=""
     27scatterers=""
    2628dyn=""
    2729
     
    3537fi
    3638if [[ "${machine:0:6}" == "vargas" ]]
     39then
     40  arch="PW6_VARGAS"
     41fi
     42if [[ "${machine:0:6}" == "ada338" ]]
    3743then
    3844  arch="PW6_VARGAS"
     
    103109manuel complet sur http://...
    104110Usage :
    105 makegcm [options] exec
    106 [-h]                       : manuel abrege
    107 [-d [[IMx]JMx]LM]          : IM, JM, LM sont les dims en x, y, z (def: $dim)
    108 [-p PHYS]                  : compilation avec la physique libf/phyPHYS, (def: lmd)
    109 [-prod / -dev / -debug]    : compilation en mode production (default) / developpement / debug .
    110 [-c false/MPI1/MPI2]       : couple ocean : MPI1/MPI2/false (def: false)
    111 [-v false/true]            : avec ou sans vegetation (def: false)
    112 [-chimie INCA/false]       : avec ou sans modele de chimie INCA (def: false)
    113 [-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp
    114 [-g GRI]                   : conf. grille dans dyn3d/GRI_xy.h  (def: reg inclue un zoom)
    115 [-io IO]                   : choix d une librairie I/O, experts (def: ioipsl)
    116 [-include INCLUDES]        : variables supplementaires pour include
    117 [-cpp CPP_KEY]             : cle cpp supplementaires
    118 [-adjnt]                   : adjoint, a remettre en route ...
    119 [-filtre NOMFILTRE]        : prend le filtre dans libf/NOMFILTRE (def: filtrez)
    120 [-link LINKS]              : liens optionels avec d autres librairies
    121 [-ext_src path]            : chemin d un repertoire source avec des sources externe a compiler avec le modele
    122 [-arch nom_arch]           : nom de l architecture cible
    123  exec                      : executable genere
     111makeldmz [options] -arch arch exec
     112[-h]                       : brief help
     113[-d [[IMx]JMx]LM]          : IM, JM, LM are the dimensions in x, y, z (default: $dim)
     114[-s nscat]                 : (Generic) Number of radiatively active scatterers
     115[-b IRxVIS]                : (Generic) Number of infrared (IR) and visible (VIS) bands for radiative transfer
     116[-p PHYS]                  : set of physical parametrizations (in libf/phyPHYS), (default: lmd)
     117[-prod / -dev / -debug]    : compilation mode production (default) / developement / debug .
     118[-c false/MPI1/MPI2]       : (Earth) coupling with ocean model : MPI1/MPI2/false (default: false)
     119[-v false/true]            : (Earth) with or without vegetation (default: false)
     120[-chimie INCA/false]       : (Earth) with INCA chemistry model or without (default: false)
     121[-cosp cosp/false]         : (Earth) add the cosp model (default: false)
     122[-parallel none/mpi/omp/mpi_omp] : parallelism (default: none) : mpi, openmp or mixted mpi_openmp
     123[-g GRI]                   : grid configuration in dyn3d/GRI_xy.h  (default: reg, inclues a zoom)
     124[-io IO]                   : Input/Output library (default: ioipsl)
     125[-include INCLUDES]        : extra include path to add
     126[-cpp CPP_KEY]             : additional preprocessing definitions
     127[-adjnt]                   : adjoint model, not operational ...
     128[-filtre NOMFILTRE]        : use filtre from libf/NOMFILTRE (default: filtrez)
     129[-link LINKS]              : additional links with other libraries
     130[-fcm_path path]           : path to the fcm tool (default: tools/fcm/bin)
     131[-ext_src path]            : path to an additional set of routines to compile with the model
     132 -arch arch                : target architecture
     133 exec                      : executable to build
    124134fin
    125135          exit;;
     
    127137          dim=$2 ; shift ; shift ;;
    128138     
    129       "-O")
    130           echo "option obsolete dans ce makegcm"
    131           exit;;
    132 
    133139      "-p")
    134140          physique="$2" ;  shift ; shift ;;
     141
     142      "-s")
     143          scatterers=$2 ; shift ; shift ;;
     144
     145      "-b")
     146          bands=$2 ; shift ; shift ;;
    135147
    136148      "-g")
     
    168180
    169181      "-adjnt")
    170           echo "option a reactiver ";exit
     182          echo "not operational ... work to be done here ";exit
    171183          opt_dep="$opt_dep adjnt" ; adjnt="-ladjnt -ldyn3d "
    172184          optim="$optim -Dadj" ; shift ;;
     
    416428cat $LIBFGCM/grid/dimensions.h
    417429cd $LMDGCM
     430
     431if [[ "$bands" != "" ]]
     432then
     433  # Generic model, recreate bands.h (IR & VIS bands for radiative transfer)
     434  bands=$(echo $bands | sed -e 's/[^0-9]/ /g')
     435  cd $LIBFGCM/phy$physique/bands
     436  ./makbands $bands
     437  cat $LIBFGCM/phy$physique/bands.h
     438  cd $LMDGCM
     439fi
     440
     441if [[ "$scatterers" != "" ]]
     442then
     443  # Generic model, recreate scatterers.h
     444  cd $LIBFGCM/phy$physique/scatterers
     445  ./make_scatterers $scatterers
     446  cat $LIBFGCM/phy$physique/scatterers.h
     447  cd $LMDGCM
     448fi
    418449
    419450
  • trunk/LMDZ.COMMON/makelmdz_fcm

    r895 r957  
    2929LIBPREFIX=""
    3030cosp=false
     31bands=""
     32scatterers=""
    3133
    3234LMDGCM=`/bin/pwd`
     
    6062  case $1 in
    6163      "-h") cat <<fin
    62 manuel complet sur http://...
    6364Usage :
    64 makegcm [options] -m arch exec
    65 [-h]                       : manuel abrégé
    66 [-d [[IMx]JMx]LM]          : IM, JM, LM sont les dims en x, y, z (def: $dim)
    67 [-p PHYS]                  : compilation avec la physique libf/phyPHYS, (def: lmd)
    68 [-prod / -dev / -debug]    : compilation en mode production (default) / developpement / debug .
    69 [-c false/MPI1/MPI2]       : couplé océan : MPI1/MPI2/false (def: false)
    70 [-v false/true]            : avec ou sans végétation (def: false)
    71 [-chimie INCA/false]       : avec ou sans model de chimie INCA (def: false)
    72 [-parallel none/mpi/omp/mpi_omp] : parallelisation (default: none) : mpi, openmp ou mixte mpi_openmp
    73 [-g GRI]                   : conf. grille dans dyn3d/GRI_xy.h  (def: reg inclue un zoom)
    74 [-io IO]                   : choix d'une librairie I/O, experts (def: ioipsl)
    75 [-include INCLUDES]        : variables supplementaires pour include
    76 [-cpp CPP_KEY]             : cle cpp supplementaires
    77 [-adjnt]                   : adjoint, a remettre en route ...
    78 [-filtre NOMFILTRE]        : prend le filtre dans libf/NOMFILTRE (def: filtrez)
    79 [-link LINKS]              : liens optionels avec d'autres librairies
    80 [-fcm_path path]           : chemin pour fcm (def: tools/fcm/bin)
    81 [-ext_src path]            : chemin d'un repertoire source avec des sources externe a compiler avec le modele
    82  -arch nom_arch            : nom de l'architecture cible
    83  exec                      : exécutable généré
     65makegcm [options] -arch arch exec
     66[-h]                       : brief help
     67[-d [[IMx]JMx]LM]          : IM, JM, LM are the dimensions in x, y, z (default: $dim)
     68[-s nscat]                 : (Generic) Number of radiatively active scatterers
     69[-b IRxVIS]                : (Generic) Number of infrared (IR) and visible (VIS) bands for radiative transfer
     70[-p PHYS]                  : set of physical parametrizations (in libf/phyPHYS), (default: lmd)
     71[-prod / -dev / -debug]    : compilation mode production (default) / developement / debug .
     72[-c false/MPI1/MPI2]       : (Earth) coupling with ocean model : MPI1/MPI2/false (default: false)
     73[-v false/true]            : (Earth) with or without vegetation (default: false)
     74[-chimie INCA/false]       : (Earth) with INCA chemistry model or without (default: false)
     75[-cosp cosp/false]         : (Earth) add the cosp model (default: false)
     76[-parallel none/mpi/omp/mpi_omp] : parallelism (default: none) : mpi, openmp or mixted mpi_openmp
     77[-g GRI]                   : grid configuration in dyn3d/GRI_xy.h  (default: reg, inclues a zoom)
     78[-io IO]                   : Input/Output library (default: ioipsl)
     79[-include INCLUDES]        : extra include path to add
     80[-cpp CPP_KEY]             : additional preprocessing definitions
     81[-adjnt]                   : adjoint model, not operational ...
     82[-filtre NOMFILTRE]        : use filtre from libf/NOMFILTRE (default: filtrez)
     83[-link LINKS]              : additional links with other libraries
     84[-fcm_path path]           : path to the fcm tool (default: tools/fcm/bin)
     85[-ext_src path]            : path to an additional set of routines to compile with the model
     86 -arch arch                : target architecture
     87 exec                      : executable to build
    8488fin
    8589          exit;;
     
    8892          dim=$2 ; shift ; shift ;;
    8993     
    90       "-O")
    91           echo "option obsolete dans cette version intermediaire de makegcm"
    92           exit;;
    93 
    9494      "-p")
    9595          physique="$2" ;  shift ; shift ;;
     96
     97      "-s")
     98          scatterers=$2 ; shift ; shift ;;
     99
     100      "-b")
     101          bands=$2 ; shift ; shift ;;
    96102
    97103      "-g")
     
    129135
    130136      "-adjnt")
    131           echo "otpion a reactiver ";exit
     137          echo "not operational ... work to be done here ";exit
    132138          opt_dep="$opt_dep adjnt" ; adjnt="-ladjnt -ldyn3d "
    133139          optim="$optim -Dadj" ; shift ;;
     
    295301cd $LMDGCM
    296302
    297 if [[ "$physique" == "generic" ]]
    298 then
    299    cd $LIBFGCM/phygeneric
    300    ./generatedoth.sh
    301    cd $LMDGCM
    302 fi
     303if [[ "$bands" != "" ]]
     304then
     305  # Generic model, recreate bands.h (IR & VIS bands for radiative transfer)
     306  bands=$(echo $bands | sed -e 's/[^0-9]/ /g')
     307  cd $LIBFGCM/phy$physique/bands
     308  ./makbands $bands
     309  cat $LIBFGCM/phy$physique/bands.h
     310  cd $LMDGCM
     311fi
     312
     313if [[ "$scatterers" != "" ]]
     314then
     315  # Generic model, recreate scatterers.h
     316  cd $LIBFGCM/phy$physique/scatterers
     317  ./make_scatterers $scatterers
     318  cat $LIBFGCM/phy$physique/scatterers.h
     319  cd $LMDGCM
     320fi
     321
    303322
    304323########################################################################
Note: See TracChangeset for help on using the changeset viewer.