Changeset 5182 for LMDZ6/branches


Ignore:
Timestamp:
Sep 10, 2024, 4:25:29 PM (5 months ago)
Author:
abarral
Message:

(WIP) Replace REPROBUS CPP KEY by logical
properly name modules

Location:
LMDZ6/branches/Amaury_dev/libf
Files:
1 deleted
75 edited
1 copied
2 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/addfi.F90

    r5159 r5182  
    33SUBROUTINE addfi(pdt, leapf, forward, pucov, pvcov, pteta, pq, pps, pdufi, pdvfi, pdhfi, pdqfi, pdpfi)
    44
    5   USE infotrac, ONLY: nqtot
     5  USE lmdz_infotrac, ONLY: nqtot
    66  USE control_mod, ONLY: planet_type
    77  USE lmdz_ssum_scopy, ONLY: ssum
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/advtrac.f90

    r5159 r5182  
    99  !            M.A Filiberti (04/2002)
    1010
    11   USE infotrac, ONLY: nqtot, tracers, isoCheck
     11  USE lmdz_infotrac, ONLY: nqtot, tracers, isoCheck
    1212  USE control_mod, ONLY: iapp_tracvl, day_step
    1313  USE comconst_mod, ONLY: dtvr
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/caladvtrac.F90

    r5159 r5182  
    77        flxw, pk)
    88
    9   USE infotrac, ONLY: nqtot
     9  USE lmdz_infotrac, ONLY: nqtot
    1010  USE control_mod, ONLY: iapp_tracvl, planet_type
    1111  USE comconst_mod, ONLY: dtvr
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/check_isotopes.F90

    r5159 r5182  
    11SUBROUTINE check_isotopes_seq(q, ip1jmp1, err_msg)
    22   USE lmdz_strings, ONLY: maxlen, msg, strIdx, strStack, int2str, real2str
    3    USE infotrac,    ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
     3   USE lmdz_infotrac,    ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
    44                          ntiso, iH2O, nzone, tracers, isoName,  itZonIso, getKey
    55
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/conf_gcm.f90

    r5159 r5182  
    55  USE control_mod
    66  USE IOIPSL
    7   USE infotrac, ONLY: type_trac
     7  USE lmdz_infotrac, ONLY: type_trac
    88  USE lmdz_assert, ONLY: assert
    99  USE comconst_mod, ONLY: dissip_deltaz, dissip_factz, dissip_zref, &
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/dynredem.F90

    r5159 r5182  
    66  USE IOIPSL
    77  USE lmdz_strings, ONLY: maxlen
    8   USE infotrac, ONLY: nqtot, tracers
     8  USE lmdz_infotrac, ONLY: nqtot, tracers
    99  USE netcdf, ONLY: nf90_create, nf90_def_dim, nf90_inq_varid, nf90_global, &
    1010          nf90_close, nf90_put_att, nf90_unlimited, nf90_clobber, &
     
    160160  !-------------------------------------------------------------------------------
    161161  USE lmdz_strings, ONLY: maxlen
    162   USE infotrac, ONLY: nqtot, tracers, type_trac
     162  USE lmdz_infotrac, ONLY: nqtot, tracers, type_trac
    163163  USE control_mod
    164164  USE netcdf, ONLY: nf90_open, nf90_nowrite, nf90_get_var, nf90_inq_varid, &
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/gcm.F90

    r5159 r5182  
    99
    1010  USE lmdz_filtreg, ONLY: inifilr
    11   USE infotrac, ONLY: nqtot, init_infotrac
     11  USE lmdz_infotrac, ONLY: nqtot, init_infotrac
    1212  USE control_mod
    1313  USE mod_const_mpi, ONLY: COMM_LMDZ
     
    1919  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS
    2020  USE lmdz_description, ONLY: descript
     21  USE lmdz_dynetat0, ONLY: dynetat0
    2122
    2223  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    212213    !        if (planet_type.EQ."earth") THEN
    213214    ! Load an Earth-format start file
    214     CALL dynetat0("start.nc", vcov, ucov, &
    215             teta, q, masse, ps, phis, time_0)
     215    CALL dynetat0("start.nc", vcov, ucov, teta, q, masse, ps, phis, time_0)
    216216    !        endif ! of if (planet_type.EQ."earth")
    217217
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/iniacademic.F90

    r5159 r5182  
    44
    55  USE lmdz_filtreg, ONLY: inifilr
    6   USE infotrac, ONLY: nqtot, niso, iqIsoPha, tracers, getKey, isoName
     6  USE lmdz_infotrac, ONLY: nqtot, niso, iqIsoPha, tracers, getKey, isoName
    77  USE control_mod, ONLY: day_step, planet_type
    88  USE exner_hyb_m, ONLY: exner_hyb
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/leapfrog.F90

    r5159 r5182  
    88  !IM : pour sortir les param. du modele dans un fis. netcdf 110106
    99  USE IOIPSL
    10   USE infotrac, ONLY: nqtot, isoCheck
     10  USE lmdz_infotrac, ONLY: nqtot, isoCheck
    1111  USE guide_mod, ONLY: guide_main
    1212  USE lmdz_write_field, ONLY: writefield
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/lmdz_dynetat0.f90

    r5181 r5182  
    1 SUBROUTINE dynetat0(fichnom,vcov,ucov,teta,q,masse,ps,phis,time)
    2 
    3 !-------------------------------------------------------------------------------
    4 ! Authors: P. Le Van , L.Fairhead
    5 !-------------------------------------------------------------------------------
    6 ! Purpose: Initial state reading.
    7 !-------------------------------------------------------------------------------
    8   USE infotrac,    ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName
    9   USE lmdz_strings, ONLY: maxlen, msg, strStack, real2str, int2str
    10   USE netcdf,      ONLY: nf90_open,  nf90_nowrite, nf90_inq_varid, &
    11                          nf90_close, nf90_get_var, nf90_noerr
    12   USE lmdz_readTracFiles, ONLY: new2oldH2O, newHNO3, oldHNO3, getKey
    13   USE control_mod, ONLY: planet_type
    14   USE lmdz_assert_eq, ONLY: assert_eq
    15   USE comvert_mod, ONLY: pa,preff
    16   USE comconst_mod, ONLY: cpp, daysec, dtvr, g, im, jm, kappa, lllm, omeg, rad
    17   USE logic_mod, ONLY: fxyhypb, ysinus
    18   USE serre_mod, ONLY: clon, clat, grossismx, grossismy
    19   USE temps_mod, ONLY: annee_ref, day_ini, day_ref, itau_dyn, start_time
    20   USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang0
    21   USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
    22   USE lmdz_description, ONLY: descript
    23   USE lmdz_iniprint, ONLY: lunout, prt_level
    24   USE lmdz_comgeom2
    25 
    26 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
    27   USE lmdz_paramet
    28   IMPLICIT NONE
    29 
    30 
    31 !===============================================================================
    32 ! Arguments:
    33   CHARACTER(LEN=*), INTENT(IN) :: fichnom          !--- FILE NAME
    34   REAL, INTENT(OUT) ::  vcov(iip1,jjm, llm)        !--- V COVARIANT WIND
    35   REAL, INTENT(OUT) ::  ucov(iip1,jjp1,llm)        !--- U COVARIANT WIND
    36   REAL, INTENT(OUT) ::  teta(iip1,jjp1,llm)        !--- POTENTIAL TEMP.
    37   REAL, INTENT(OUT) ::     q(iip1,jjp1,llm,nqtot)  !--- TRACERS
    38   REAL, INTENT(OUT) :: masse(iip1,jjp1,llm)        !--- MASS PER CELL
    39   REAL, INTENT(OUT) ::    ps(iip1,jjp1)            !--- GROUND PRESSURE
    40   REAL, INTENT(OUT) ::  phis(iip1,jjp1)            !--- GEOPOTENTIAL
    41 !===============================================================================
    42 ! Local variables:
    43   CHARACTER(LEN=maxlen) :: mesg, var, modname, oldVar
    44   INTEGER, PARAMETER :: length=100
    45   INTEGER :: iq, fID, vID, idecal, iqParent, iName, iZone, iPhase
    46   REAL    :: time, tnat, alpha_ideal, tab_cntrl(length)    !--- RUN PARAMS TABLE
    47   LOGICAL :: lSkip, ll
    48   LOGICAL,PARAMETER :: tnat1=.TRUE.
    49 !-------------------------------------------------------------------------------
    50   modname="dynetat0"
    51 
    52 !--- Initial state file opening
    53   var=fichnom
    54   CALL err(nf90_open(var,nf90_nowrite,fID),"open",var)
    55   CALL get_var1("controle",tab_cntrl)
    56 
    57 !!! AS: idecal is a hack to be able to read planeto starts...
    58 !!!     .... while keeping everything OK for LMDZ EARTH
    59   IF(planet_type=="generic") THEN
    60     CALL msg('NOTE NOTE NOTE : Planeto-like start files', modname)
    61     idecal = 4
    62     annee_ref  = 2000
    63   ELSE
    64     CALL msg('NOTE NOTE NOTE : Earth-like start files', modname)
    65     idecal = 5
    66     annee_ref  = tab_cntrl(5)
    67   END IF
    68   im         = tab_cntrl(1)
    69   jm         = tab_cntrl(2)
    70   lllm       = tab_cntrl(3)
    71   day_ref    = tab_cntrl(4)
    72   rad        = tab_cntrl(idecal+1)
    73   omeg       = tab_cntrl(idecal+2)
    74   g          = tab_cntrl(idecal+3)
    75   cpp        = tab_cntrl(idecal+4)
    76   kappa      = tab_cntrl(idecal+5)
    77   daysec     = tab_cntrl(idecal+6)
    78   dtvr       = tab_cntrl(idecal+7)
    79   etot0      = tab_cntrl(idecal+8)
    80   ptot0      = tab_cntrl(idecal+9)
    81   ztot0      = tab_cntrl(idecal+10)
    82   stot0      = tab_cntrl(idecal+11)
    83   ang0       = tab_cntrl(idecal+12)
    84   pa         = tab_cntrl(idecal+13)
    85   preff      = tab_cntrl(idecal+14)
    86 
    87   clon       = tab_cntrl(idecal+15)
    88   clat       = tab_cntrl(idecal+16)
    89   grossismx  = tab_cntrl(idecal+17)
    90   grossismy  = tab_cntrl(idecal+18)
    91 
    92   IF ( tab_cntrl(idecal+19)==1. )  THEN
    93     fxyhypb  = .TRUE.
    94 !   dzoomx   = tab_cntrl(25)
    95 !   dzoomy   = tab_cntrl(26)
    96 !   taux     = tab_cntrl(28)
    97 !   tauy     = tab_cntrl(29)
    98   ELSE
    99     fxyhypb = .FALSE.
    100     ysinus  = tab_cntrl(idecal+22)==1.
    101   END IF
    102 
    103   day_ini    = tab_cntrl(30)
    104   itau_dyn   = tab_cntrl(31)
    105   start_time = tab_cntrl(32)
    106 
    107 !-------------------------------------------------------------------------------
    108   CALL msg('rad, omeg, g, cpp, kappa = '//TRIM(strStack(real2str([rad,omeg,g,cpp,kappa]))), modname)
    109   CALL check_dim(im,iim,'im','im')
    110   CALL check_dim(jm,jjm,'jm','jm')
    111   CALL check_dim(lllm,llm,'lm','lllm')
    112   CALL get_var1("rlonu",rlonu)
    113   CALL get_var1("rlatu",rlatu)
    114   CALL get_var1("rlonv",rlonv)
    115   CALL get_var1("rlatv",rlatv)
    116   CALL get_var2("cu"   ,cu)
    117   CALL get_var2("cv"   ,cv)
    118   CALL get_var2("aire" ,aire)
    119   var="temps"
    120   IF(nf90_inq_varid(fID,var,vID)/=nf90_noerr) THEN
    121     CALL msg('missing field <temps> ; trying with <Time>', modname)
    122     var="Time"
    123     CALL err(nf90_inq_varid(fID,var,vID),"inq",var)
    124   END IF
    125   CALL err(nf90_get_var(fID,vID,time),"get",var)
    126   CALL get_var2("phisinit",phis)
    127   CALL get_var3("ucov",ucov)
    128   CALL get_var3("vcov",vcov)
    129   CALL get_var3("teta",teta)
    130   CALL get_var3("masse",masse)
    131   CALL get_var2("ps",ps)
    132 
    133 !--- Tracers
    134   ll=.FALSE.
    135 #ifdef REPROBUS
    136   ll = nf90_inq_varid(fID, 'HNO3tot', vID) /= nf90_noerr                                 !--- DETECT OLD REPRO start.nc FILE
    137 #endif
    138   DO iq=1,nqtot
    139     var = tracers(iq)%name
    140     oldVar = new2oldH2O(var)
    141     lSkip = ll .AND. var == 'HNO3'                                                       !--- FORCE "HNO3_g" READING FOR "HNO3"
    142 #ifdef REPROBUS
    143     ix = strIdx(newHNO3, var); IF(ix /= 0) oldVar = oldHNO3(ix)                          !--- REPROBUS HNO3 exceptions
    144 #endif
    145     IF (CPPKEY_INCA) THEN
    146       IF(var == 'O3') oldVar = 'OX'                                                        !--- DEAL WITH INCA OZONE EXCEPTION
    147     END IF
    148     !--------------------------------------------------------------------------------------------------------------------------
    149     IF(nf90_inq_varid(fID, var, vID) == nf90_noerr .AND. .NOT.lSkip) THEN                !=== REGULAR CASE: AVAILABLE VARIABLE
    150       CALL err(nf90_get_var(fID,vID,q(:,:,:,iq)),"get",var)
    151     !--------------------------------------------------------------------------------------------------------------------------
    152     ELSE IF(nf90_inq_varid(fID, oldVar, vID) == nf90_noerr) THEN                         !=== TRY WITH ALTERNATE NAME
    153       CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized to <'//TRIM(oldVar)//'>', modname)
    154       CALL err(nf90_get_var(fID,vID,q(:,:,:,iq)),"get",oldVar)
    155     !--------------------------------------------------------------------------------------------------------------------------
    156     ELSE IF(tracers(iq)%iso_iGroup == iH2O .AND. niso > 0) THEN                          !=== WATER ISOTOPES
    157       iName    = tracers(iq)%iso_iName
    158       iPhase   = tracers(iq)%iso_iPhase
    159       iqParent = tracers(iq)%iqParent
    160       IF(tracers(iq)%iso_iZone == 0) THEN
    161          IF (tnat1) THEN
    162                  tnat=1.0
    163                  alpha_ideal=1.0
    164                  WRITE(*,*) 'attention dans dynetat0: les alpha_ideal sont a 1'
    165          else
    166           IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
    167             CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1)
    168          endif
    169          CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized with a simplified Rayleigh distillation law.', modname)
    170          q(:,:,:,iq) = q(:,:,:,iqParent)*tnat*(q(:,:,:,iqParent)/30.e-3)**(alpha_ideal-1.)
    171       ELSE
    172          CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized to its parent isotope concentration.', modname)
    173          ! Camille 9 mars 2023: attention!! seuls les tags qui correspondent à
    174          ! izone=izone_init (définie dans isotrac_mod) sont initialisés comme
    175          ! les parents. Sinon, c'est nul.
    176          ! j'ai fait ça en attendant, mais il faudrait initialiser proprement en
    177          ! remplacant 1 par izone_init dans la ligne qui suit.
    178          IF(tracers(iq)%iso_iZone == 1) THEN
    179            q(:,:,:,iq) = q(:,:,:,iqIsoPha(iName,iPhase))
    180          ELSE
    181            q(:,:,:,iq) = 0.
    182          END IF
     1MODULE lmdz_dynetat0
     2  IMPLICIT NONE; PRIVATE
     3  PUBLIC dynetat0
     4CONTAINS
     5
     6  SUBROUTINE dynetat0(fichnom, vcov, ucov, teta, q, masse, ps, phis, time)
     7
     8    !-------------------------------------------------------------------------------
     9    ! Authors: P. Le Van , L.Fairhead
     10    !-------------------------------------------------------------------------------
     11    ! Purpose: Initial state reading.
     12    !-------------------------------------------------------------------------------
     13    USE lmdz_infotrac, ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName
     14    USE lmdz_strings, ONLY: maxlen, msg, strStack, real2str, int2str
     15    USE netcdf, ONLY: nf90_open, nf90_nowrite, nf90_inq_varid, nf90_close, nf90_get_var, nf90_noerr
     16    USE lmdz_readTracFiles, ONLY: new2oldH2O, newHNO3, oldHNO3, getKey
     17    USE control_mod, ONLY: planet_type
     18    USE lmdz_assert_eq, ONLY: assert_eq
     19    USE comvert_mod, ONLY: pa, preff
     20    USE comconst_mod, ONLY: cpp, daysec, dtvr, g, im, jm, kappa, lllm, omeg, rad
     21    USE logic_mod, ONLY: fxyhypb, ysinus
     22    USE serre_mod, ONLY: clon, clat, grossismx, grossismy
     23    USE temps_mod, ONLY: annee_ref, day_ini, day_ref, itau_dyn, start_time
     24    USE ener_mod, ONLY: etot0, ptot0, ztot0, stot0, ang0
     25    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_REPROBUS
     26    USE lmdz_description, ONLY: descript
     27    USE lmdz_iniprint, ONLY: lunout, prt_level
     28    USE lmdz_comgeom2
     29    USE lmdz_strings, ONLY: strIdx
     30
     31    USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
     32    USE lmdz_paramet
     33    IMPLICIT NONE
     34
     35
     36    !===============================================================================
     37    ! Arguments:
     38    CHARACTER(LEN = *), INTENT(IN) :: fichnom          !--- FILE NAME
     39    REAL, INTENT(OUT) :: vcov(iip1, jjm, llm)        !--- V COVARIANT WIND
     40    REAL, INTENT(OUT) :: ucov(iip1, jjp1, llm)        !--- U COVARIANT WIND
     41    REAL, INTENT(OUT) :: teta(iip1, jjp1, llm)        !--- POTENTIAL TEMP.
     42    REAL, INTENT(OUT) :: q(iip1, jjp1, llm, nqtot)  !--- TRACERS
     43    REAL, INTENT(OUT) :: masse(iip1, jjp1, llm)        !--- MASS PER CELL
     44    REAL, INTENT(OUT) :: ps(iip1, jjp1)            !--- GROUND PRESSURE
     45    REAL, INTENT(OUT) :: phis(iip1, jjp1)            !--- GEOPOTENTIAL
     46    !===============================================================================
     47    ! Local variables:
     48    CHARACTER(LEN = maxlen) :: mesg, var, modname, oldVar
     49    INTEGER, PARAMETER :: length = 100
     50    INTEGER :: iq, fID, vID, idecal, iqParent, iName, iZone, iPhase, ix
     51    REAL :: time, tnat, alpha_ideal, tab_cntrl(length)    !--- RUN PARAMS TABLE
     52    LOGICAL :: lSkip, ll
     53    LOGICAL, PARAMETER :: tnat1 = .TRUE.
     54    !-------------------------------------------------------------------------------
     55    modname = "dynetat0"
     56
     57    !--- Initial state file opening
     58    var = fichnom
     59    CALL err(nf90_open(var, nf90_nowrite, fID), "open", var)
     60    CALL get_var1("controle", tab_cntrl)
     61
     62    !!! AS: idecal is a hack to be able to read planeto starts...
     63    !!!     .... while keeping everything OK for LMDZ EARTH
     64    IF(planet_type=="generic") THEN
     65      CALL msg('NOTE NOTE NOTE : Planeto-like start files', modname)
     66      idecal = 4
     67      annee_ref = 2000
     68    ELSE
     69      CALL msg('NOTE NOTE NOTE : Earth-like start files', modname)
     70      idecal = 5
     71      annee_ref = tab_cntrl(5)
     72    END IF
     73    im = tab_cntrl(1)
     74    jm = tab_cntrl(2)
     75    lllm = tab_cntrl(3)
     76    day_ref = tab_cntrl(4)
     77    rad = tab_cntrl(idecal + 1)
     78    omeg = tab_cntrl(idecal + 2)
     79    g = tab_cntrl(idecal + 3)
     80    cpp = tab_cntrl(idecal + 4)
     81    kappa = tab_cntrl(idecal + 5)
     82    daysec = tab_cntrl(idecal + 6)
     83    dtvr = tab_cntrl(idecal + 7)
     84    etot0 = tab_cntrl(idecal + 8)
     85    ptot0 = tab_cntrl(idecal + 9)
     86    ztot0 = tab_cntrl(idecal + 10)
     87    stot0 = tab_cntrl(idecal + 11)
     88    ang0 = tab_cntrl(idecal + 12)
     89    pa = tab_cntrl(idecal + 13)
     90    preff = tab_cntrl(idecal + 14)
     91
     92    clon = tab_cntrl(idecal + 15)
     93    clat = tab_cntrl(idecal + 16)
     94    grossismx = tab_cntrl(idecal + 17)
     95    grossismy = tab_cntrl(idecal + 18)
     96
     97    IF (tab_cntrl(idecal + 19)==1.)  THEN
     98      fxyhypb = .TRUE.
     99      !   dzoomx   = tab_cntrl(25)
     100      !   dzoomy   = tab_cntrl(26)
     101      !   taux     = tab_cntrl(28)
     102      !   tauy     = tab_cntrl(29)
     103    ELSE
     104      fxyhypb = .FALSE.
     105      ysinus = tab_cntrl(idecal + 22)==1.
     106    END IF
     107
     108    day_ini = tab_cntrl(30)
     109    itau_dyn = tab_cntrl(31)
     110    start_time = tab_cntrl(32)
     111
     112    !-------------------------------------------------------------------------------
     113    CALL msg('rad, omeg, g, cpp, kappa = ' // TRIM(strStack(real2str([rad, omeg, g, cpp, kappa]))), modname)
     114    CALL check_dim(im, iim, 'im', 'im')
     115    CALL check_dim(jm, jjm, 'jm', 'jm')
     116    CALL check_dim(lllm, llm, 'lm', 'lllm')
     117    CALL get_var1("rlonu", rlonu)
     118    CALL get_var1("rlatu", rlatu)
     119    CALL get_var1("rlonv", rlonv)
     120    CALL get_var1("rlatv", rlatv)
     121    CALL get_var2("cu", cu)
     122    CALL get_var2("cv", cv)
     123    CALL get_var2("aire", aire)
     124    var = "temps"
     125    IF(nf90_inq_varid(fID, var, vID)/=nf90_noerr) THEN
     126      CALL msg('missing field <temps> ; trying with <Time>', modname)
     127      var = "Time"
     128      CALL err(nf90_inq_varid(fID, var, vID), "inq", var)
     129    END IF
     130    CALL err(nf90_get_var(fID, vID, time), "get", var)
     131    CALL get_var2("phisinit", phis)
     132    CALL get_var3("ucov", ucov)
     133    CALL get_var3("vcov", vcov)
     134    CALL get_var3("teta", teta)
     135    CALL get_var3("masse", masse)
     136    CALL get_var2("ps", ps)
     137
     138    !--- Tracers
     139    ll = .FALSE.
     140    IF (CPPKEY_REPROBUS) THEN
     141      ll = nf90_inq_varid(fID, 'HNO3tot', vID) /= nf90_noerr                                 !--- DETECT OLD REPRO start.nc FILE
     142    END IF
     143    DO iq = 1, nqtot
     144      var = tracers(iq)%name
     145      oldVar = new2oldH2O(var)
     146      lSkip = ll .AND. var == 'HNO3'                                                       !--- FORCE "HNO3_g" READING FOR "HNO3"
     147      IF (CPPKEY_REPROBUS) THEN
     148        ix = strIdx(newHNO3, var); IF(ix /= 0) oldVar = oldHNO3(ix)                          !--- REPROBUS HNO3 exceptions
    183149      END IF
    184     !--------------------------------------------------------------------------------------------------------------------------
    185     ELSE                                                                                 !=== MISSING: SET TO 0
    186       CALL msg('Tracer <'//TRIM(var)//'> is missing => initialized to zero', modname)
    187       q(:,:,:,iq)=0.
    188     !--------------------------------------------------------------------------------------------------------------------------
    189     END IF
    190   END DO
    191 
    192   CALL err(nf90_close(fID),"close",fichnom)
    193   day_ini=day_ini+INT(time)
    194   time=time-INT(time)
     150      IF (CPPKEY_INCA) THEN
     151        IF(var == 'O3') oldVar = 'OX'                                                        !--- DEAL WITH INCA OZONE EXCEPTION
     152      END IF
     153      !--------------------------------------------------------------------------------------------------------------------------
     154      IF(nf90_inq_varid(fID, var, vID) == nf90_noerr .AND. .NOT.lSkip) THEN                !=== REGULAR CASE: AVAILABLE VARIABLE
     155        CALL err(nf90_get_var(fID, vID, q(:, :, :, iq)), "get", var)
     156        !--------------------------------------------------------------------------------------------------------------------------
     157      ELSE IF(nf90_inq_varid(fID, oldVar, vID) == nf90_noerr) THEN                         !=== TRY WITH ALTERNATE NAME
     158        CALL msg('Tracer <' // TRIM(var) // '> is missing => initialized to <' // TRIM(oldVar) // '>', modname)
     159        CALL err(nf90_get_var(fID, vID, q(:, :, :, iq)), "get", oldVar)
     160        !--------------------------------------------------------------------------------------------------------------------------
     161      ELSE IF(tracers(iq)%iso_iGroup == iH2O .AND. niso > 0) THEN                          !=== WATER ISOTOPES
     162        iName = tracers(iq)%iso_iName
     163        iPhase = tracers(iq)%iso_iPhase
     164        iqParent = tracers(iq)%iqParent
     165        IF(tracers(iq)%iso_iZone == 0) THEN
     166          IF (tnat1) THEN
     167            tnat = 1.0
     168            alpha_ideal = 1.0
     169            WRITE(*, *) 'attention dans dynetat0: les alpha_ideal sont a 1'
     170          else
     171            IF(getKey('tnat', tnat, isoName(iName)) .OR. getKey('alpha', alpha_ideal, isoName(iName))) &
     172                    CALL abort_gcm(TRIM(modname), 'missing isotopic parameters', 1)
     173          endif
     174          CALL msg('Tracer <' // TRIM(var) // '> is missing => initialized with a simplified Rayleigh distillation law.', modname)
     175          q(:, :, :, iq) = q(:, :, :, iqParent) * tnat * (q(:, :, :, iqParent) / 30.e-3)**(alpha_ideal - 1.)
     176        ELSE
     177          CALL msg('Tracer <' // TRIM(var) // '> is missing => initialized to its parent isotope concentration.', modname)
     178          ! Camille 9 mars 2023: attention!! seuls les tags qui correspondent à
     179          ! izone=izone_init (définie dans isotrac_mod) sont initialisés comme
     180          ! les parents. Sinon, c'est nul.
     181          ! j'ai fait ça en attendant, mais il faudrait initialiser proprement en
     182          ! remplacant 1 par izone_init dans la ligne qui suit.
     183          IF(tracers(iq)%iso_iZone == 1) THEN
     184            q(:, :, :, iq) = q(:, :, :, iqIsoPha(iName, iPhase))
     185          ELSE
     186            q(:, :, :, iq) = 0.
     187          END IF
     188        END IF
     189        !--------------------------------------------------------------------------------------------------------------------------
     190      ELSE                                                                                 !=== MISSING: SET TO 0
     191        CALL msg('Tracer <' // TRIM(var) // '> is missing => initialized to zero', modname)
     192        q(:, :, :, iq) = 0.
     193        !--------------------------------------------------------------------------------------------------------------------------
     194      END IF
     195    END DO
     196
     197    CALL err(nf90_close(fID), "close", fichnom)
     198    day_ini = day_ini + INT(time)
     199    time = time - INT(time)
    195200
    196201
     
    198203
    199204
    200 SUBROUTINE check_dim(n1,n2,str1,str2)
    201   INTEGER,          INTENT(IN) :: n1, n2
    202   CHARACTER(LEN=*), INTENT(IN) :: str1, str2
    203   CHARACTER(LEN=maxlen) :: s1, s2
    204   IF(n1/=n2) CALL abort_gcm(TRIM(modname), 'value of "'//TRIM(str1)//'" = '//TRIM(int2str(n1))// &
    205    ' read in starting file differs from gcm value of "'//TRIM(str2)//'" = '//TRIM(int2str(n2)), 1)
    206 END SUBROUTINE check_dim
    207 
    208 
    209 SUBROUTINE get_var1(var,v)
    210   CHARACTER(LEN=*), INTENT(IN)  :: var
    211   REAL,             INTENT(OUT) :: v(:)
    212   CALL err(nf90_inq_varid(fID,var,vID),"inq",var)
    213   CALL err(nf90_get_var(fID,vID,v),"get",var)
    214 END SUBROUTINE get_var1
    215 
    216 
    217 SUBROUTINE get_var2(var,v)
    218   CHARACTER(LEN=*), INTENT(IN)  :: var
    219   REAL,             INTENT(OUT) :: v(:,:)
    220   CALL err(nf90_inq_varid(fID,var,vID),"inq",var)
    221   CALL err(nf90_get_var(fID,vID,v),"get",var)
    222 END SUBROUTINE get_var2
    223 
    224 
    225 SUBROUTINE get_var3(var,v)
    226   CHARACTER(LEN=*), INTENT(IN)  :: var
    227   REAL,             INTENT(OUT) :: v(:,:,:)
    228   CALL err(nf90_inq_varid(fID,var,vID),"inq",var)
    229   CALL err(nf90_get_var(fID,vID,v),"get",var)
    230 END SUBROUTINE get_var3
    231 
    232 
    233 SUBROUTINE err(ierr,typ,nam)
    234   INTEGER,          INTENT(IN) :: ierr   !--- NetCDF ERROR CODE
    235   CHARACTER(LEN=*), INTENT(IN) :: typ    !--- TYPE OF OPERATION
    236   CHARACTER(LEN=*), INTENT(IN) :: nam    !--- FIELD/FILE NAME
    237   IF(ierr==nf90_noerr) RETURN
    238   SELECT CASE(typ)
    239     CASE('inq');   mesg="Field <"//TRIM(nam)//"> is missing"
    240     CASE('get');   mesg="Reading failed for <"//TRIM(nam)//">"
    241     CASE('open');  mesg="File opening failed for <"//TRIM(nam)//">"
    242     CASE('close'); mesg="File closing failed for <"//TRIM(nam)//">"
    243   END SELECT
    244   CALL ABORT_gcm(TRIM(modname),TRIM(mesg),ierr)
    245 END SUBROUTINE err
    246 
    247 END SUBROUTINE dynetat0
     205    SUBROUTINE check_dim(n1, n2, str1, str2)
     206      INTEGER, INTENT(IN) :: n1, n2
     207      CHARACTER(LEN = *), INTENT(IN) :: str1, str2
     208      CHARACTER(LEN = maxlen) :: s1, s2
     209      IF(n1/=n2) CALL abort_gcm(TRIM(modname), 'value of "' // TRIM(str1) // '" = ' // TRIM(int2str(n1)) // &
     210              ' read in starting file differs from gcm value of "' // TRIM(str2) // '" = ' // TRIM(int2str(n2)), 1)
     211    END SUBROUTINE check_dim
     212
     213
     214    SUBROUTINE get_var1(var, v)
     215      CHARACTER(LEN = *), INTENT(IN) :: var
     216      REAL, INTENT(OUT) :: v(:)
     217      CALL err(nf90_inq_varid(fID, var, vID), "inq", var)
     218      CALL err(nf90_get_var(fID, vID, v), "get", var)
     219    END SUBROUTINE get_var1
     220
     221
     222    SUBROUTINE get_var2(var, v)
     223      CHARACTER(LEN = *), INTENT(IN) :: var
     224      REAL, INTENT(OUT) :: v(:, :)
     225      CALL err(nf90_inq_varid(fID, var, vID), "inq", var)
     226      CALL err(nf90_get_var(fID, vID, v), "get", var)
     227    END SUBROUTINE get_var2
     228
     229
     230    SUBROUTINE get_var3(var, v)
     231      CHARACTER(LEN = *), INTENT(IN) :: var
     232      REAL, INTENT(OUT) :: v(:, :, :)
     233      CALL err(nf90_inq_varid(fID, var, vID), "inq", var)
     234      CALL err(nf90_get_var(fID, vID, v), "get", var)
     235    END SUBROUTINE get_var3
     236
     237
     238    SUBROUTINE err(ierr, typ, nam)
     239      INTEGER, INTENT(IN) :: ierr   !--- NetCDF ERROR CODE
     240      CHARACTER(LEN = *), INTENT(IN) :: typ    !--- TYPE OF OPERATION
     241      CHARACTER(LEN = *), INTENT(IN) :: nam    !--- FIELD/FILE NAME
     242      IF(ierr==nf90_noerr) RETURN
     243      SELECT CASE(typ)
     244      CASE('inq');   mesg = "Field <" // TRIM(nam) // "> is missing"
     245      CASE('get');   mesg = "Reading failed for <" // TRIM(nam) // ">"
     246      CASE('open');  mesg = "File opening failed for <" // TRIM(nam) // ">"
     247      CASE('close'); mesg = "File closing failed for <" // TRIM(nam) // ">"
     248      END SELECT
     249      CALL ABORT_gcm(TRIM(modname), TRIM(mesg), ierr)
     250    END SUBROUTINE err
     251
     252  END SUBROUTINE dynetat0
     253END MODULE lmdz_dynetat0
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/qminimum.F90

    r5159 r5182  
    33SUBROUTINE qminimum(q, nqtot, deltap)
    44
    5   USE infotrac, ONLY: niso, ntiso, iqIsoPha, tracers
     5  USE lmdz_infotrac, ONLY: niso, ntiso, iqIsoPha, tracers
    66  USE lmdz_strings, ONLY: strIdx
    77  USE lmdz_readTracFiles, ONLY: addPhase
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/vlsplt.F90

    r5159 r5182  
    44
    55SUBROUTINE vlsplt(q, pente_max, masse, w, pbaru, pbarv, pdt, iq)
    6   USE infotrac, ONLY: nqtot, tracers
     6  USE lmdz_infotrac, ONLY: nqtot, tracers
    77  USE lmdz_ssum_scopy, ONLY: scopy
    88
     
    107107END SUBROUTINE vlsplt
    108108RECURSIVE SUBROUTINE vlx(q, pente_max, masse, u_m, iq)
    109   USE infotrac, ONLY: nqtot, tracers, & ! CRisi
     109  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi
    110110          min_qParent, min_qMass, min_ratio ! MVals et CRisi
    111111  USE lmdz_iniprint, ONLY: lunout, prt_level
     
    423423END SUBROUTINE vlx
    424424RECURSIVE SUBROUTINE vly(q, pente_max, masse, masse_adv_v, iq)
    425   USE infotrac, ONLY: nqtot, tracers, & ! CRisi
     425  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi
    426426          min_qParent, min_qMass, min_ratio ! MVals et CRisi
    427427  USE lmdz_ssum_scopy, ONLY: ssum
     
    749749END SUBROUTINE vly
    750750RECURSIVE SUBROUTINE vlz(q, pente_max, masse, w, iq)
    751   USE infotrac, ONLY: nqtot, tracers, & ! CRisi
     751  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi
    752752          min_qParent, min_qMass, min_ratio ! MVals et CRisi
    753753
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/vlspltqs.F90

    r5159 r5182  
    44SUBROUTINE vlspltqs(q, pente_max, masse, w, pbaru, pbarv, pdt, &
    55        p, pk, teta, iq)
    6   USE infotrac, ONLY: nqtot, tracers
     6  USE lmdz_infotrac, ONLY: nqtot, tracers
    77
    88  ! Auteurs:   P.Le Van, F.Hourdin, F.Forget, F.Codron
     
    178178END SUBROUTINE vlspltqs
    179179SUBROUTINE vlxqs(q, pente_max, masse, u_m, qsat, iq)
    180   USE infotrac, ONLY: nqtot, tracers ! CRisi
     180  USE lmdz_infotrac, ONLY: nqtot, tracers ! CRisi
    181181
    182182
     
    511511END SUBROUTINE vlxqs
    512512SUBROUTINE vlyqs(q, pente_max, masse, masse_adv_v, qsat, iq)
    513   USE infotrac, ONLY: nqtot, tracers ! CRisi
     513  USE lmdz_infotrac, ONLY: nqtot, tracers ! CRisi
    514514
    515515  ! Auteurs:   P.Le Van, F.Hourdin, F.Forget
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/initdynav.F90

    r5159 r5182  
    44
    55  USE IOIPSL
    6   USE infotrac, ONLY: nqtot
     6  USE lmdz_infotrac, ONLY: nqtot
    77  USE com_io_dyn_mod, ONLY: histaveid, histvaveid, histuaveid, &
    88          dynhistave_file, dynhistvave_file, dynhistuave_file
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/inithist.F90

    r5159 r5182  
    44
    55  USE IOIPSL
    6   USE infotrac, ONLY: nqtot
     6  USE lmdz_infotrac, ONLY: nqtot
    77  USE com_io_dyn_mod, ONLY: histid, histvid, histuid, &
    88          dynhist_file, dynhistv_file, dynhistu_file
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/iso_verif_dyn.f90

    r5117 r5182  
    6464  function iso_verif_aberrant_nostop &
    6565          (x,iso,q,err_msg)
    66     USE infotrac, ONLY: isoName, getKey
     66    USE lmdz_infotrac, ONLY: isoName, getKey
    6767    IMPLICIT NONE
    6868
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/lmdz_infotrac.f90

    r5181 r5182  
    1 !$Id$
    2 
    3 MODULE infotrac
     1MODULE lmdz_infotrac
    42
    53  USE       lmdz_strings, ONLY: msg, fmsg, maxlen, cat, dispTable, int2str, bool2str, strStack, strParse
     
    116114  SUBROUTINE init_infotrac
    117115    USE control_mod, ONLY: planet_type
    118 #ifdef REPROBUS
    119    USE CHEM_REP,    ONLY: Init_chem_rep_trac
    120 #endif
    121     USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_STRATAER
     116    USE lmdz_reprobus_wrappers, ONLY: init_chem_rep_trac
     117    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_STRATAER, CPPKEY_REPROBUS
    122118    USE lmdz_iniprint, ONLY: lunout, prt_level
    123 
    124   USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
     119    USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
     120
    125121    IMPLICIT NONE
    126122    !==============================================================================================================================
     
    204200      END IF
    205201    CASE('repr')
    206 #ifndef REPROBUS
    207       CALL abort_gcm(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
    208 #endif
     202      IF (.NOT. CPPKEY_REPROBUS)
     203        CALL abort_gcm(modname, 'You must add cpp key REPROBUS and compile with REPROBUS code', 1)
     204      END IF
    209205    CASE('coag')
    210206      IF (.NOT. CPPKEY_STRATAER) THEN
     
    233229      !---------------------------------------------------------------------------------------------------------------------------
    234230      nqo = SIZE(tracers) - nqCO2
    235       CALL Init_chem_inca_trac(nqINCA)                               !--- Get nqINCA from INCA
     231      CALL init_chem_inca_trac(nqINCA)                               !--- Get nqINCA from INCA
    236232      nbtr = nqINCA + nqCO2                                          !--- Number of tracers passed to phytrac
    237233      nqtrue = nbtr + nqo                                            !--- Total number of "true" tracers
     
    277273    !---------------------------------------------------------------------------------------------------------------------------
    278274
    279 #ifdef REPROBUS
    280    !--- Transfert the number of tracers to Reprobus
    281    CALL Init_chem_rep_trac(nbtr, nqo, tracers(:)%name)
    282 
    283 #endif
     275    IF (CPPKEY_REPROBUS) THEN
     276      !--- Transfert the number of tracers to Reprobus
     277      CALL init_chem_rep_trac(nbtr, nqo, tracers(:)%name)
     278    END IF
     279
    284280    !==============================================================================================================================
    285281    ! 2) Calculate nqtot, number of tracers needed (greater if advection schemes 20 or 30 have been chosen).
     
    426422  END SUBROUTINE init_infotrac
    427423
    428 END MODULE infotrac
     424END MODULE lmdz_infotrac
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/test_period.f90

    r5159 r5182  
    88  !                       teta, q , p et phis                 ..........
    99
    10   USE infotrac, ONLY: nqtot
     10  USE lmdz_infotrac, ONLY: nqtot
    1111
    1212  USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/writedynav.F90

    r5159 r5182  
    44
    55  USE ioipsl
    6   USE infotrac, ONLY: nqtot
     6  USE lmdz_infotrac, ONLY: nqtot
    77  USE com_io_dyn_mod, ONLY: histaveid, histvaveid, histuaveid
    88  USE comconst_mod, ONLY: cpp
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/writehist.f90

    r5159 r5182  
    44
    55  USE ioipsl
    6   USE infotrac, ONLY: nqtot
     6  USE lmdz_infotrac, ONLY: nqtot
    77  USE com_io_dyn_mod, ONLY: histid, histvid, histuid
    88  USE temps_mod, ONLY: itau_dyn
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/addfi_loc.f90

    r5159 r5182  
    55        pdufi, pdvfi, pdhfi, pdqfi, pdpfi)
    66  USE parallel_lmdz
    7   USE infotrac, ONLY: nqtot
     7  USE lmdz_infotrac, ONLY: nqtot
    88  USE control_mod, ONLY: planet_type
    99  USE lmdz_ssum_scopy, ONLY: ssum
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/advtrac_loc.f90

    r5159 r5182  
    77  !            M.A Filiberti (04/2002)
    88
    9   USE infotrac, ONLY: nqtot, tracers
     9  USE lmdz_infotrac, ONLY: nqtot, tracers
    1010  USE control_mod, ONLY: iapp_tracvl, day_step, planet_type
    1111  USE comconst_mod, ONLY: dtvr
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/caladvtrac_loc.f90

    r5159 r5182  
    77        flxw, pk, iapptrac)
    88  USE parallel_lmdz
    9   USE infotrac, ONLY: nqtot
     9  USE lmdz_infotrac, ONLY: nqtot
    1010  USE control_mod, ONLY: iapp_tracvl, planet_type
    1111  USE caladvtrac_mod
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/caladvtrac_mod.F90

    r5159 r5182  
    3131  USE allocate_field_mod
    3232  USE parallel_lmdz
    33   USE infotrac, ONLY: nqtot
     33  USE lmdz_infotrac, ONLY: nqtot
    3434  USE advtrac_mod, ONLY: advtrac_allocate
    3535  USE groupe_mod
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/check_isotopes_loc.F90

    r5159 r5182  
    22   USE parallel_lmdz
    33   USE lmdz_strings, ONLY: maxlen, msg, strIdx, strStack, int2str, real2str
    4    USE infotrac,    ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
     4   USE lmdz_infotrac,    ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
    55                          ntiso, iH2O, nzone, tracers, isoName,  itZonIso, getKey
    66
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/conf_gcm.F90

    r5159 r5182  
    1010  USE lmdz_filtre_fft_loc, ONLY: use_filtre_fft_loc=>use_filtre_fft
    1111  USE mod_hallo, ONLY: use_mpi_alloc
    12   USE infotrac, ONLY: type_trac
     12  USE lmdz_infotrac, ONLY: type_trac
    1313  USE lmdz_assert, ONLY: assert
    1414  USE comconst_mod, ONLY: dissip_deltaz, dissip_factz, dissip_zref, &
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynetat0_loc.F90

    r5159 r5182  
    77!-------------------------------------------------------------------------------
    88  USE parallel_lmdz
    9   USE infotrac,    ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName
     9  USE lmdz_infotrac,    ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName
    1010  USE lmdz_strings, ONLY: maxlen, msg, strStack, real2str, int2str, strIdx
    1111  USE netcdf,      ONLY: nf90_open,  nf90_nowrite, nf90_inquire_dimension, nf90_inq_varid, &
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynredem_loc.F90

    r5159 r5182  
    88  USE mod_hallo
    99  USE lmdz_strings, ONLY: maxlen
    10   USE infotrac, ONLY: nqtot, tracers
     10  USE lmdz_infotrac, ONLY: nqtot, tracers
    1111  USE netcdf, ONLY: nf90_create, nf90_def_dim, nf90_inq_varid, nf90_global, &
    1212          nf90_close, nf90_put_att, nf90_unlimited, nf90_clobber, &
     
    169169  USE mod_hallo
    170170  USE lmdz_strings, ONLY: maxlen
    171   USE infotrac, ONLY: nqtot, tracers, type_trac
     171  USE lmdz_infotrac, ONLY: nqtot, tracers, type_trac
    172172  USE control_mod
    173173  USE netcdf, ONLY: nf90_open, nf90_nowrite, nf90_get_var, nf90_inq_varid, &
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/gcm.F90

    r5159 r5182  
    88  USE mod_const_mpi, ONLY: init_const_mpi
    99  USE parallel_lmdz
    10   USE infotrac, ONLY: nqtot, init_infotrac
     10  USE lmdz_infotrac, ONLY: nqtot, init_infotrac
    1111  USE mod_hallo
    1212  USE Bands
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/groupe_mod.F90

    r5159 r5182  
    1010  USE allocate_field_mod
    1111  USE parallel_lmdz
    12 !  USE infotrac
     12!  USE lmdz_infotrac
    1313  USE advtrac_mod, ONLY: advtrac_allocate
    1414USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/iniacademic_loc.F90

    r5159 r5182  
    44
    55  USE lmdz_filtreg, ONLY: inifilr
    6   USE infotrac, ONLY: nqtot, niso, iqIsoPha, tracers, getKey, isoName
     6  USE lmdz_infotrac, ONLY: nqtot, niso, iqIsoPha, tracers, getKey, isoName
    77  USE control_mod, ONLY: day_step, planet_type
    88  USE exner_hyb_m, ONLY: exner_hyb
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/initdynav_loc.f90

    r5159 r5182  
    88  USE lmdz_write_field
    99  USE misc_mod
    10   ! USE infotrac
     10  ! USE lmdz_infotrac
    1111  USE com_io_dyn_mod, ONLY: histaveid, histvaveid, histuaveid, &
    1212          dynhistave_file, dynhistvave_file, dynhistuave_file
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/leapfrog_loc.F90

    r5160 r5182  
    1313  USE lmdz_vampir
    1414  USE lmdz_timer_filtre, ONLY: print_filtre_timer
    15   USE infotrac
     15  USE lmdz_infotrac
    1616  USE guide_loc_mod, ONLY: guide_main
    1717  USE getparam
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/leapfrog_mod.F90

    r5159 r5182  
    4141  USE lmdz_dimensions
    4242  USE lmdz_paramet
    43   USE infotrac
     43  USE lmdz_infotrac
    4444  USE caldyn_mod,ONLY: caldyn_allocate
    4545  USE integrd_mod,ONLY: integrd_allocate
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/lmdz_call_calfis.F90

    r5159 r5182  
    3636    USE lmdz_dimensions
    3737    USE lmdz_paramet
    38     USE infotrac, ONLY: nqtot
     38    USE lmdz_infotrac, ONLY: nqtot
    3939    IMPLICIT NONE
    4040    TYPE(distrib), POINTER :: d
     
    8080    USE Bands
    8181    USE lmdz_vampir
    82     USE infotrac, ONLY: nqtot
     82    USE lmdz_infotrac, ONLY: nqtot
    8383    USE control_mod
    8484    USE write_field_loc
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/qminimum_loc.f90

    r5159 r5182  
    33SUBROUTINE qminimum_loc(q, nqtot, deltap)
    44  USE parallel_lmdz
    5   USE infotrac, ONLY: niso, ntiso, iqIsoPha, tracers, &
     5  USE lmdz_infotrac, ONLY: niso, ntiso, iqIsoPha, tracers, &
    66          isoCheck, min_qParent
    77  USE lmdz_strings, ONLY: strIdx
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlsplt_loc.f90

    r5159 r5182  
    1313  !   --------------------------------------------------------------------
    1414  USE parallel_lmdz
    15   USE infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
     15  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
    1616          min_qParent, min_qMass, min_ratio ! MVals et CRisi
    1717  USE lmdz_iniprint, ONLY: lunout, prt_level
     
    381381  !   --------------------------------------------------------------------
    382382  USE parallel_lmdz
    383   USE infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
     383  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
    384384          min_qParent, min_qMass, min_ratio ! MVals et CRisi
    385385  USE comconst_mod, ONLY: pi
     
    814814  USE parallel_lmdz
    815815  USE vlz_mod
    816   USE infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
     816  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
    817817          min_qParent, min_qMass, min_ratio ! MVals et CRisi
    818818  USE lmdz_iniprint, ONLY: lunout, prt_level
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlspltgen_loc.F90

    r5160 r5182  
    2727  USE lmdz_vampir
    2828  ! CRisi: on rajoute variables utiles d'infotrac
    29   USE infotrac, ONLY: nqtot, tracers, isoCheck
     29  USE lmdz_infotrac, ONLY: nqtot, tracers, isoCheck
    3030  USE vlspltgen_mod
    3131  USE comconst_mod, ONLY: cpp
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlspltgen_mod.F90

    r5159 r5182  
    1414  USE allocate_field_mod
    1515  USE parallel_lmdz
    16   USE infotrac
     16  USE lmdz_infotrac
    1717  USE vlz_mod,ONLY: vlz_allocate
    1818USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlspltqs_loc.f90

    r5159 r5182  
    1111  !   --------------------------------------------------------------------
    1212  USE parallel_lmdz
    13   USE infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
     13  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
    1414          min_qParent, min_qMass, min_ratio ! MVals et CRisi7
    1515USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
     
    388388  !   --------------------------------------------------------------------
    389389  USE parallel_lmdz
    390   USE infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
     390  USE lmdz_infotrac, ONLY: nqtot, tracers, & ! CRisi                 &
    391391          min_qParent, min_qMass, min_ratio ! MVals et CRisi
    392392  USE comconst_mod, ONLY: pi
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlz_mod.F90

    r5159 r5182  
    1414  USE allocate_field_mod
    1515  USE parallel_lmdz
    16   USE infotrac
     16  USE lmdz_infotrac
    1717  USE lmdz_dimensions
    1818  USE lmdz_paramet
     
    3333  USE bands
    3434  USE parallel_lmdz
    35   USE infotrac
     35  USE lmdz_infotrac
    3636  IMPLICIT NONE
    3737    TYPE(distrib),INTENT(IN) :: dist
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/writedyn_xios.F90

    r5159 r5182  
    77  USE parallel_lmdz
    88  USE misc_mod
    9   USE infotrac, ONLY: nqtot
     9  USE lmdz_infotrac, ONLY: nqtot
    1010  USE com_io_dyn_mod, ONLY: histaveid, histvaveid, histuaveid
    1111  USE comconst_mod, ONLY: cpp
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/writedynav_loc.f90

    r5159 r5182  
    88  USE parallel_lmdz
    99  USE misc_mod
    10   USE infotrac, ONLY: nqtot
     10  USE lmdz_infotrac, ONLY: nqtot
    1111  USE com_io_dyn_mod, ONLY: histaveid, histvaveid, histuaveid
    1212  USE comconst_mod, ONLY: cpp
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/writehist_loc.f90

    r5159 r5182  
    55  USE parallel_lmdz
    66  USE misc_mod
    7   USE infotrac, ONLY: nqtot
     7  USE lmdz_infotrac, ONLY: nqtot
    88  USE com_io_dyn_mod, ONLY: histid, histvid, histuid
    99  USE comconst_mod, ONLY: cpp
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/calfis.f90

    r5159 r5182  
    2828  !    Auteur :  P. Le Van, F. Hourdin
    2929  !   .........
    30   USE infotrac, ONLY: nqtot, tracers
     30  USE lmdz_infotrac, ONLY: nqtot, tracers
    3131  USE control_mod, ONLY: planet_type, nsplit_phys
    3232  USE callphysiq_mod, ONLY: call_physiq
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/lmdz_calfis_loc.F90

    r5160 r5182  
    4343    Use Write_field_p
    4444    USE Times
    45     USE infotrac, ONLY: nqtot, tracers
     45    USE lmdz_infotrac, ONLY: nqtot, tracers
    4646    USE control_mod, ONLY: planet_type, nsplit_phys
    4747    USE callphysiq_mod, ONLY: call_physiq
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phydev/iniphysiq_mod.F90

    r5118 r5182  
    1313    USE inigeomphy_mod, ONLY: inigeomphy
    1414    USE lmdz_phys_para, ONLY: klon_omp ! number of columns (on local omp grid)
    15     USE infotrac, ONLY: nqtot, type_trac
     15    USE lmdz_infotrac, ONLY: nqtot, type_trac
    1616    USE infotrac_phy, ONLY: init_infotrac_phy
    1717    USE inifis_mod, ONLY: inifis
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/ce0l.F90

    r5159 r5182  
    2323  USE netcdf, ONLY: nf90_open, nf90_nowrite, nf90_close, nf90_noerr, &
    2424          nf90_inquire_dimension, nf90_inq_dimid, nf90_inq_varid, nf90_get_var
    25   USE infotrac, ONLY: init_infotrac
     25  USE lmdz_infotrac, ONLY: init_infotrac
    2626  USE dimphy, ONLY: klon
    2727  USE test_disvert_m, ONLY: test_disvert
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/etat0dyn_netcdf.F90

    r5159 r5182  
    7878    USE exner_hyb_m, ONLY: exner_hyb
    7979    USE exner_milieu_m, ONLY: exner_milieu
    80     USE infotrac, ONLY: nqtot, tracers
     80    USE lmdz_infotrac, ONLY: nqtot, tracers
    8181    USE lmdz_filtreg
    8282    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/iniphysiq_mod.F90

    r5159 r5182  
    1515    USE lmdz_phys_para, ONLY: klon_omp ! number of columns (on local omp grid)
    1616    USE lmdz_vertical_layers, ONLY: init_vertical_layers
    17     USE infotrac, ONLY: nbtr, type_trac
     17    USE lmdz_infotrac, ONLY: nbtr, type_trac
    1818
    1919#ifdef REPROBUS
  • LMDZ6/branches/Amaury_dev/libf/misc/lmdz_cppkeys_wrapper.F90

    r5151 r5182  
    88!      CPP_PHYS       -> CPPKEY_PHYS
    99!      INCA           -> CPPKEY_INCA   ! -> also in lmdz_inca_wrappers.F90
     10!      REPROBUS       -> CPPKEY_REPROBUS ! -> also in lmdz_reprobus_wrappers.F90
    1011!      CPP_StratAer   -> CPPKEY_STRATAER
    1112!      CPP_DUST       -> CPPKEY_DUST
     
    2324  PUBLIC nf90_format, CPPKEY_PHYS, CPPKEY_INCA, CPPKEY_STRATAER, CPPKEY_DUST, &
    2425          CPPKEY_DEBUGIO, CPPKEY_INLANDSIS, CPPKEY_OUTPUTPHYSSCM, CPPKEY_COSP, CPPKEY_COSP2, &
    25           CPPKEY_COSPV2
     26          CPPKEY_COSPV2, CPPKEY_REPROBUS
    2627
    2728#ifdef NC_DOUBLE
     
    4142#else
    4243  LOGICAL, PARAMETER :: CPPKEY_INCA = .FALSE.
     44#endif
     45
     46#ifdef REPROBUS
     47  LOGICAL, PARAMETER :: CPPKEY_REPROBUS = .TRUE.
     48#else
     49  LOGICAL, PARAMETER :: CPPKEY_REPROBUS = .FALSE.
    4350#endif
    4451
  • LMDZ6/branches/Amaury_dev/libf/misc/lmdz_inca_wrappers.F90

    r5117 r5182  
    77END SUBROUTINE lmdz_inca_wrapper_abort
    88
    9 SUBROUTINE Init_chem_inca_trac(NBTR)
     9SUBROUTINE init_chem_inca_trac(nbtr)
    1010  IMPLICIT NONE
    1111  INTEGER, INTENT(OUT) :: nbtr
    1212
    1313  CALL lmdz_inca_wrapper_abort
    14 END SUBROUTINE Init_chem_inca_trac
     14END SUBROUTINE init_chem_inca_trac
    1515
    1616SUBROUTINE init_transport(&
  • LMDZ6/branches/Amaury_dev/libf/misc/lmdz_mpi.F90

    r4600 r5182  
     1MODULE lmdz_mpi
    12#ifdef CPP_MPI
    2 MODULE lmdz_mpi
    3 
    43  INCLUDE 'mpif.h'
    54  LOGICAL,PARAMETER :: using_mpi = .TRUE.
     5#else
     6  LOGICAL, PARAMETER :: using_mpi = .FALSE.
     7
     8  INTEGER, PARAMETER :: MPI_REAL8 = 1
     9  INTEGER, PARAMETER :: MPI_INTEGER = 1
     10  INTEGER, PARAMETER :: MPI_CHARACTER = 1
     11  INTEGER, PARAMETER :: MPI_LOGICAL = 1
     12  INTEGER, PARAMETER :: MPI_SUM = 1
     13  INTEGER, PARAMETER :: MPI_MIN = 1
     14  INTEGER, PARAMETER :: MPI_COMM_WORLD = 1
     15  INTEGER, PARAMETER :: MPI_STATUS_SIZE = 1
     16  INTEGER, PARAMETER :: MPI_THREAD_SERIALIZED = 1
     17  INTEGER(kind = 8), PARAMETER :: MPI_ADDRESS_KIND = 1
     18  INTEGER, PARAMETER :: MPI_INFO_NULL = 1
     19#endif
    620END MODULE lmdz_mpi
    7 
    8 #else
    9 
    10 MODULE lmdz_mpi
    11   LOGICAL,PARAMETER :: using_mpi = .FALSE.
    12 
    13   INTEGER, PARAMETER         :: MPI_REAL8 = 1
    14   INTEGER, PARAMETER         :: MPI_INTEGER = 1
    15   INTEGER, PARAMETER         :: MPI_CHARACTER = 1
    16   INTEGER, PARAMETER         :: MPI_LOGICAL = 1
    17   INTEGER, PARAMETER         :: MPI_SUM = 1
    18   INTEGER, PARAMETER         :: MPI_MIN = 1
    19   INTEGER, PARAMETER         :: MPI_COMM_WORLD = 1
    20   INTEGER, PARAMETER         :: MPI_STATUS_SIZE = 1
    21   INTEGER, PARAMETER         :: MPI_THREAD_SERIALIZED =1
    22   INTEGER(kind=8), PARAMETER :: MPI_ADDRESS_KIND = 1
    23   INTEGER, PARAMETER         :: MPI_INFO_NULL = 1
    24 
    25 END MODULE lmdz_mpi
    26 
    27 #endif
  • LMDZ6/branches/Amaury_dev/libf/misc/lmdz_reprobus_wrappers.F90

    r5173 r5182  
    1 ! inca SUBROUTINE wrappers
     1! reprobus SUBROUTINE wrappers
    22
    3 #ifndef INCA
     3MODULE lmdz_reprobus_wrappers
    44
    5 SUBROUTINE lmdz_inca_wrapper_abort
    6   STOP 'INCA key undefined, must not enter in INCA wrappers ==> aborting'
    7 END SUBROUTINE lmdz_inca_wrapper_abort
     5#ifdef REPROBUS
     6  USE CHEM_REP, ONLY: init_chem_rep_trac
     7#else
    88
    9 SUBROUTINE Init_chem_inca_trac(NBTR)
    10   IMPLICIT NONE
    11   INTEGER, INTENT(OUT) :: nbtr
     9CONTAINS
    1210
    13   CALL lmdz_inca_wrapper_abort
    14 END SUBROUTINE Init_chem_inca_trac
    15 
    16 SUBROUTINE init_transport(&
    17         tracnam_lmdz, &
    18         conv_flg_lmdz, &
    19         pbl_flg_lmdz, &
    20         hadv_flg_lmdz, &
    21         vadv_flg_lmdz)
    22   IMPLICIT NONE
    23   INTEGER, DIMENSION(:), INTENT(OUT) :: hadv_flg_lmdz
    24   INTEGER, DIMENSION(:), INTENT(OUT) :: vadv_flg_lmdz
    25 
    26   INTEGER, DIMENSION(:), INTENT(OUT) :: conv_flg_lmdz
    27   INTEGER, DIMENSION(:), INTENT(OUT) :: pbl_flg_lmdz
    28   CHARACTER(len = 8), DIMENSION(:), INTENT(OUT) :: tracnam_lmdz
    29 
    30   CALL lmdz_inca_wrapper_abort
    31 END SUBROUTINE init_transport
    32 
    33 SUBROUTINE finalize_inca
    34   IMPLICIT NONE
    35   CALL lmdz_inca_wrapper_abort
    36 END SUBROUTINE finalize_inca
    37 
    38 SUBROUTINE CHEMHOOK_BEGIN(&
    39         calday, &
    40         ijour, &
    41         gmtime, &
    42         oro, &
    43         lat, &
    44         lon, &
    45         area, &
    46         pfull, &
    47         pmid, &
    48         coefh, &
    49         zma, &
    50         temp, &
    51         u, &
    52         v, &
    53         rot, &
    54         ozrad, &
    55         sh, &
    56         ts, &
    57         t_air_2m, &
    58         dpth_snow, &
    59         sws, &
    60         albs, &
    61         rain_fall, &
    62         snow_fall, &
    63         ctop, &
    64         cbot, &
    65         cldfr, &
    66         nx, &
    67         ny, &
    68         mmr, &
    69         ftsol, &
    70         paprs, &
    71         cdragh, &
    72         cdragm, &
    73         pctsrf, &
    74         delt, &
    75         nstep)
    76   IMPLICIT NONE
    77   REAL, INTENT(IN) :: calday
    78   INTEGER, INTENT(IN) :: ijour  ! jour julien
    79   REAL, INTENT(IN) :: gmtime ! input-R-temps universel dans la journee (0 a 86400 s)
    80   INTEGER, INTENT(IN) :: ctop(:)
    81   INTEGER, INTENT(IN) :: cbot(:)
    82   INTEGER, INTENT(IN) :: nx, ny
    83   REAL, INTENT(IN) :: pmid(:, :)
    84   REAL, INTENT(IN) :: pfull(:, :)
    85   REAL, INTENT(IN) :: coefh(:, :)
    86   REAL, INTENT(IN) :: zma(:, :)
    87   REAL, INTENT(IN) :: temp(:, :)
    88   REAL, INTENT(IN) :: u(:, :)
    89   REAL, INTENT(IN) :: v(:, :)
    90   REAL, INTENT(IN) :: rot(:, :)
    91   REAL, INTENT(IN) :: ozrad(:, :)
    92   REAL, INTENT(IN) :: sh(:, :)
    93   REAL, INTENT(IN) :: lat(:)
    94   REAL, INTENT(IN) :: lon(:)
    95   REAL, INTENT(IN) :: oro(:)
    96   REAL, INTENT(IN) :: area(:)
    97   REAL, INTENT(IN) :: ts(:)
    98   REAL, INTENT(IN) :: t_air_2m(:) ! air temperature near surface
    99   REAL, INTENT(IN) :: dpth_snow(:)
    100   REAL, INTENT(IN) :: sws(:)
    101   REAL, INTENT(IN) :: albs(:)
    102   REAL, INTENT(IN) :: rain_fall(:)
    103   REAL, INTENT(IN) :: snow_fall(:)
    104   REAL, INTENT(IN) :: mmr(:, :, :)
    105   REAL, INTENT(IN) :: cldfr (:, :)
    106   ! variables used in nightingale
    107   REAL, INTENT(IN) :: ftsol(:, :)
    108   REAL, INTENT(IN) :: paprs(:, :)
    109   REAL, INTENT(IN) :: cdragh(:), cdragm(:)
    110   REAL, INTENT(IN) :: pctsrf(:, :)
    111   REAL, INTENT(IN) :: delt               ! timestep in seconds of physics
    112   INTEGER, INTENT(IN) :: nstep              ! model time step
    113 
    114   CALL lmdz_inca_wrapper_abort
    115 END SUBROUTINE CHEMHOOK_BEGIN
    116 
    117 SUBROUTINE CHEMHOOK_END(&
    118         dt, &
    119         pmid, &
    120         temp, &
    121         mmr, &
    122         nbtr, &
    123         paprs, &
    124         sh, &
    125         area, &
    126         zma, &
    127         phis, &
    128         rh, aps, bps, ap, bp, lafin)
    129   IMPLICIT NONE
    130   INTEGER, INTENT(IN) :: nbtr
    131   REAL, INTENT(IN) :: dt
    132   REAL, INTENT(IN) :: pmid(:, :)
    133   REAL, INTENT(IN) :: area(:)
    134   REAL, INTENT(IN) :: temp(:, :)
    135   REAL, INTENT(IN) :: paprs(:, :)
    136   REAL, INTENT(IN) :: sh(:, :)
    137   REAL, INTENT(INOUT) :: mmr(:, :, :)
    138   REAL, INTENT(IN) :: zma(:, :)
    139   REAL, INTENT(IN) :: phis(:)
    140   REAL, INTENT(IN) :: rh(:, :)
    141   REAL, INTENT(IN), DIMENSION(:) :: aps, bps
    142   REAL, INTENT(IN), DIMENSION(:) :: ap, bp
    143   LOGICAL, INTENT(IN) :: lafin
    144 
    145   CALL lmdz_inca_wrapper_abort
    146 END SUBROUTINE chemhook_end
    147 
    148 SUBROUTINE chemtime(istp, date0, dt, itap)
    149   IMPLICIT NONE
    150   INTEGER, INTENT(IN) :: istp   ! time step of the restart file
    151   REAL, INTENT(IN) :: date0  ! the date at which itau = 0
    152   REAL, INTENT(IN) :: dt     ! time step
    153   INTEGER, INTENT(IN) :: itap
    154   CALL lmdz_inca_wrapper_abort
    155 END SUBROUTINE chemtime
    156 
    157 SUBROUTINE INIT_CONST_LMDZ(&
    158         nday_l, &
    159         nbsrf_l, &
    160         is_oce_l, &
    161         is_sic_l, &
    162         is_ter_l, &
    163         is_lic_l, &
    164         calend_l, &
    165         config_inca_l)
    166   IMPLICIT NONE
    167   INTEGER, INTENT(IN) :: nday_l
    168   INTEGER, INTENT(IN) :: nbsrf_l
    169   INTEGER, INTENT(IN) :: is_oce_l, is_sic_l, is_lic_l, is_ter_l
    170   CHARACTER (len = 10), INTENT(IN) :: calend_l
    171   CHARACTER(len = 4), INTENT(IN) :: config_inca_l
    172 
    173   CALL lmdz_inca_wrapper_abort
    174 END SUBROUTINE init_const_lmdz
    175 
    176 SUBROUTINE init_inca_geometry(&
    177         longitude_lmdz, latitude_lmdz, &
    178         boundslon_lmdz, boundslat_lmdz, &
    179         cell_area_lmdz, &
    180         ind_cell_glo_lmdz)
    181   IMPLICIT NONE
    182   REAL, INTENT(IN) :: longitude_lmdz(:)
    183   REAL, INTENT(IN) :: latitude_lmdz(:)
    184   REAL, INTENT(IN) :: boundslon_lmdz(:, :)
    185   REAL, INTENT(IN) :: boundslat_lmdz(:, :)
    186   REAL, INTENT(IN) :: cell_area_lmdz(:)
    187   INTEGER, OPTIONAL, INTENT(IN) :: ind_cell_glo_lmdz(:)
    188 
    189   CALL lmdz_inca_wrapper_abort
    190 END SUBROUTINE init_inca_geometry
    191 
    192 SUBROUTINE CHEMINI(pmid, &
    193         nbp_lon_lmdz, nbp_lat_lmdz, &
    194         latgcm, &
    195         longcm, &
    196         presnivs, &
    197         calday, &
    198         klon, &
    199         nqmax, &
    200         nqo, &
    201         pdtphys, &
    202         annee_ref, &
    203         year_cur, &
    204         day_ref, &
    205         day_ini, &
    206         start_time, &
    207         itau_phy, &
    208         date0, &
    209         chemistry_couple, &
    210         init_source, &
    211         init_tauinca, &
    212         init_pizinca, &
    213         init_cginca, &
    214         init_ccm, &
    215         io_lon, &
    216         io_lat)
    217   IMPLICIT NONE
    218   REAL, INTENT(IN) :: pmid(:, :)
    219   INTEGER, INTENT(IN) :: nbp_lon_lmdz, nbp_lat_lmdz
    220   REAL, INTENT(IN) :: calday
    221   REAL, INTENT(IN) :: latgcm(:)
    222   REAL, INTENT(IN) :: longcm(:)
    223   REAL, INTENT(IN) :: presnivs(:)
    224   INTEGER, INTENT(IN) :: klon
    225   INTEGER, INTENT(IN) :: nqmax  ! nombre total de traceurs = inca + lmdz
    226   INTEGER, INTENT(IN) :: nqo ! nombre de traceurs lus dans traceur.def
    227   REAL, INTENT(IN) :: pdtphys
    228   INTEGER, INTENT(IN) :: annee_ref, year_cur
    229   INTEGER, INTENT(IN) :: day_ref, day_ini
    230   REAL, INTENT(IN) :: start_time
    231   INTEGER, INTENT(IN) :: itau_phy
    232   REAL, OPTIONAL, INTENT(IN) :: io_lat(nbp_lat_lmdz) ! latitudes (of global grid)
    233   REAL, OPTIONAL, INTENT(IN) :: io_lon(nbp_lon_lmdz) ! longitudes (of global grid)
    234   REAL, INTENT(IN) :: date0
    235   LOGICAL, INTENT(IN) :: chemistry_couple
    236   REAL, DIMENSION(:, :), INTENT(OUT) :: init_source
    237   REAL, DIMENSION(:, :, :, :), INTENT(OUT) :: init_tauinca
    238   REAL, DIMENSION(:, :, :, :), INTENT(OUT) :: init_pizinca
    239   REAL, DIMENSION(:, :, :, :), INTENT(OUT) :: init_cginca
    240   REAL, DIMENSION(:, :, :), INTENT(OUT) :: init_ccm
    241 
    242   CALL lmdz_inca_wrapper_abort
    243 END SUBROUTINE chemini
    244 
    245 SUBROUTINE radlwsw_inca(chemistry_couple, kdlon, kflev, dist, rmu0, fract, &
    246         solaire, paprs, pplay, tsol, albedo, alblw, t, q, size_wo, wo, &
    247         cldfra, cldemi, cldtaupd, &
    248         heat, heat0, cool, cool0, albpla, &
    249         topsw, toplw, solsw, sollw, &
    250         sollwdown, &
    251         topsw0, toplw0, solsw0, sollw0, &
    252         lwdn0, lwdn, lwup0, lwup, &
    253         swdn0, swdn, swup0, swup, &
    254         ok_ade, ok_aie, &
    255         tau_inca, piz_inca, cg_inca, &
    256         topswad_inca, solswad_inca, &
    257         topswad0_inca, solswad0_inca, &
    258         topsw_inca, topsw0_inca, &
    259         solsw_inca, solsw0_inca, &
    260         cldtaupi, topswai_inca, solswai_inca)
    261   IMPLICIT NONE
    262   LOGICAL, INTENT(IN) :: chemistry_couple
    263   INTEGER, INTENT(IN) :: kdlon, kflev
    264   REAL, INTENT(IN) :: solaire
    265   REAL, INTENT(IN) :: dist
    266   REAL, INTENT(IN) :: rmu0(:), fract(:)
    267   REAL, INTENT(IN) :: paprs(:, :), pplay(:, :)
    268   REAL, INTENT(IN) :: albedo(:), alblw(:), tsol(:)
    269   REAL, INTENT(IN) :: t(:, :), q(:, :)
    270   INTEGER, INTENT(IN) :: size_wo
    271   REAL, INTENT(IN) :: wo(:, :, :)  ! column-density of ozone in a layer, in kilo-Dobsons
    272   LOGICAL, INTENT(IN) :: ok_ade, ok_aie     ! switches whether to use aerosol direct (indirect) effects or not
    273   REAL, INTENT(IN) :: cldfra(:, :), cldemi(:, :), cldtaupd(:, :)
    274   REAL, INTENT(IN) :: tau_inca(:, :, :, :) ! aerosol optical properties (see aeropt.F)
    275   REAL, INTENT(IN) :: piz_inca(:, :, :, :) ! aerosol optical properties (see aeropt.F)
    276   REAL, INTENT(IN) :: cg_inca(:, :, :, :)        ! aerosol optical properties (see aeropt.F)
    277   REAL, INTENT(IN) :: cldtaupi(:, :)  ! cloud optical thickness for pre-industrial aerosol concentrations
    278   REAL, INTENT(OUT) :: heat(:, :), cool(:, :)
    279   REAL, INTENT(OUT) :: heat0(:, :), cool0(:, :)
    280   REAL, INTENT(OUT) :: topsw(:), toplw(:)
    281   REAL, INTENT(OUT) :: solsw(:), sollw(:), albpla(:)
    282   REAL, INTENT(OUT) :: topsw0(:), toplw0(:), solsw0(:), sollw0(:)
    283   REAL, INTENT(OUT) :: sollwdown(:)
    284   REAL, INTENT(OUT) :: swdn(:, :), swdn0(:, :)
    285   REAL, INTENT(OUT) :: swup(:, :), swup0(:, :)
    286   REAL, INTENT(OUT) :: lwdn(:, :), lwdn0(:, :)
    287   REAL, INTENT(OUT) :: lwup(:, :), lwup0(:, :)
    288   REAL, INTENT(OUT) :: topswad_inca(:), solswad_inca(:) ! output: aerosol direct forcing at TOA and surface
    289   REAL, INTENT(OUT) :: topswad0_inca(:), solswad0_inca(:) ! output: aerosol direct forcing at TOA and surface
    290   REAL, INTENT(OUT) :: topswai_inca(:), solswai_inca(:) ! output: aerosol indirect forcing atTOA and surface
    291   REAL(kind = 8), INTENT(OUT) :: topsw_inca(:, :), topsw0_inca(:, :)
    292   REAL(kind = 8), INTENT(OUT) :: solsw_inca(:, :), solsw0_inca(:, :)
    293 
    294   CALL lmdz_inca_wrapper_abort
    295 END SUBROUTINE radlwsw_inca
    296 
    297 SUBROUTINE INIT_INCA_DIM_REG(&
    298         iim, &
    299         jjm, &
    300         rlonu_l, &
    301         rlatu_l, &
    302         rlonv_l, &
    303         rlatv_l)
    304 
    305   IMPLICIT NONE
    306   INTEGER, INTENT(IN) :: iim
    307   INTEGER, INTENT(IN) :: jjm
    308   REAL, INTENT(IN) :: rlonu_l(:)
    309   REAL, INTENT(IN) :: rlatu_l(:)
    310   REAL, INTENT(IN) :: rlonv_l(:)
    311   REAL, INTENT(IN) :: rlatv_l(:)
    312 
    313   CALL lmdz_inca_wrapper_abort
    314 END SUBROUTINE INIT_INCA_DIM_REG
    315 
    316 SUBROUTINE AEROSOL_METEO_CALC(&
    317         calday, delt, pmid, pfull, t_seri, &
    318         flxrcv, flxscv, flxrst, flxsst, pctsrf, &
    319         area, rlat, rlon, u10m, v10m)
    320   IMPLICIT NONE
    321   REAL, INTENT(IN) :: calday
    322   REAL, INTENT(IN) :: delt                ! [s]
    323   REAL, INTENT(IN) :: pmid(:, :)     ! [Pa]
    324   REAL, INTENT(IN) :: pfull(:, :)  ! [Pa]
    325   REAL, INTENT(IN) :: t_seri(:, :)   ! [K]
    326   REAL, INTENT(IN) :: flxrst(:, :) ! liquid water flux (stratiform) kgH2O/m2/s
    327   REAL, INTENT(IN) :: flxrcv(:, :) ! liquid  water flux (convection ) kgH2O/m2/s
    328   REAL, INTENT(IN) :: flxsst(:, :) ! solid  water flux (stratiform) kgH2O/m2/s
    329   REAL, INTENT(IN) :: flxscv(:, :) ! solid  water flux (convection) kgH2O/m2/s
    330   REAL, INTENT(IN) :: pctsrf(:, :)  ! subsurface fraction (0..1)
    331   REAL, INTENT(IN) :: area(:)          ! surface area of grid box [m2]
    332   REAL, INTENT(IN) :: rlon(:)          ! longitude
    333   REAL, INTENT(IN) :: rlat(:)          ! latitude
    334   REAL, INTENT(IN) :: u10m(:, :)    ! vents a 10m
    335   REAL, INTENT(IN) :: v10m(:, :)    ! vents a 10m
    336 
    337   CALL lmdz_inca_wrapper_abort
    338 END SUBROUTINE AEROSOL_METEO_CALC
     11  SUBROUTINE lmdz_reprobus_wrapper_abort
     12    STOP 'REPROBUS key undefined, must not enter in REPROBUS wrappers ==> aborting'
     13  END SUBROUTINE lmdz_reprobus_wrapper_abort
    33914
    34015#endif
     16END MODULE lmdz_reprobus_wrappers
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/aeropt_spl.f90

    r5160 r5182  
    99
    1010  USE dimphy
    11   USE infotrac
     11  USE lmdz_infotrac
    1212  USE lmdz_yomcst
    1313  USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/blcloud_scav.f90

    r5160 r5182  
    77  USE dimphy
    88  USE indice_sol_mod
    9   USE infotrac
     9  USE lmdz_infotrac
    1010  USE lmdz_yomcst
    1111
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/blcloud_scav_lsc.f90

    r5160 r5182  
    77  USE dimphy
    88  USE indice_sol_mod
    9   USE infotrac
     9  USE lmdz_infotrac
    1010  USE lmdz_yomcst
    1111
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/cm3_to_kg.f90

    r5159 r5182  
    22
    33  USE dimphy
    4   USE infotrac
     4  USE lmdz_infotrac
    55  USE indice_sol_mod
    66  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/coarsemission.f90

    r5160 r5182  
    2727  USE dimphy
    2828  USE indice_sol_mod
    29   USE infotrac
     29  USE lmdz_infotrac
    3030  USE dustemission_mod, ONLY: dustemission
    3131  ! USE lmdz_phytracr_spl, ONLY: nbreg_dust, nbreg_ind, nbreg_bb
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/deposition.f90

    r5160 r5182  
    77
    88  USE dimphy
    9   USE infotrac
     9  USE lmdz_infotrac
    1010  USE indice_sol_mod
    1111  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/dustemission_mod.F90

    r5160 r5182  
    171171                          emdustacc,emdustcoa,emdustsco,maskdust)    !Output
    172172  USE dimphy
    173   USE infotrac
     173  USE lmdz_infotrac
    174174  USE lmdz_writefield_phy
    175175  USE lmdz_grid_phy
     
    248248 SUBROUTINE makemask(maskdustloc)
    249249  USE dimphy
    250   USE infotrac
     250  USE lmdz_infotrac
    251251  IMPLICIT NONE
    252252  !Input
     
    278278
    279279  USE dimphy
    280   USE infotrac
     280  USE lmdz_infotrac
    281281  USE lmdz_writefield_phy
    282282  USE lmdz_grid_phy
     
    518518  SUBROUTINE initdust(xlat,xlon,pctsrf)
    519519  USE dimphy
    520   USE infotrac
     520  USE lmdz_infotrac
    521521  USE lmdz_writefield_phy
    522522  USE lmdz_grid_phy
     
    11061106  ! emisions over 12 dust bin
    11071107  USE dimphy
    1108   USE infotrac
     1108  USE lmdz_infotrac
    11091109
    11101110  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/finemission.f90

    r5160 r5182  
    1313  USE dimphy
    1414  USE indice_sol_mod
    15   USE infotrac
     15  USE lmdz_infotrac
    1616  ! USE lmdz_phytracr_spl, ONLY: nbreg_dust, nbreg_ind, nbreg_bb
    1717  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/gastoparticle.f90

    r5160 r5182  
    22        id_prec, id_fine, tr_seri, his_g2pgas, his_g2paer)
    33  USE dimphy
    4   USE infotrac
     4  USE lmdz_infotrac
    55  USE lmdz_YOECUMF
    66  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/incloud_scav.f90

    r5160 r5182  
    66
    77  USE dimphy
    8   USE infotrac
     8  USE lmdz_infotrac
    99  USE indice_sol_mod
    1010  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/incloud_scav_lsc.f90

    r5160 r5182  
    66
    77  USE dimphy
    8   USE infotrac
     8  USE lmdz_infotrac
    99  USE indice_sol_mod
    1010  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/kg_to_cm3.f90

    r5159 r5182  
    22
    33  USE dimphy
    4   USE infotrac
     4  USE lmdz_infotrac
    55  USE lmdz_yomcst
    66
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lmdz_phytracr_spl.F90

    r5160 r5182  
    783783    USE IOIPSL
    784784    USE dimphy
    785     USE infotrac
     785    USE lmdz_infotrac
    786786    USE indice_sol_mod
    787787    USE lmdz_writefield_phy
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lmdz_precuremission.f90

    r5160 r5182  
    2424    USE dimphy
    2525    USE indice_sol_mod
    26     USE infotrac
     26    USE lmdz_infotrac
    2727    USE lmdz_yomcst
    2828
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lsc_scav_orig.F90

    r5160 r5182  
    99  USE lmdz_phys_para
    1010  USE traclmdz_mod
    11   USE infotrac, ONLY: nbtr
     11  USE lmdz_infotrac, ONLY: nbtr
    1212  USE iophy
    1313  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lsc_scav_spl.F90

    r5160 r5182  
    1111  USE lmdz_phys_para
    1212  USE traclmdz_mod
    13   USE infotrac, ONLY: nbtr
     13  USE lmdz_infotrac, ONLY: nbtr
    1414  USE iophy
    1515  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/minmaxqfi2.f90

    r5159 r5182  
    22
    33  USE dimphy
    4   USE infotrac
     4  USE lmdz_infotrac
    55  USE lmdz_libmath, ONLY: ismax, ismin
    66
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/minmaxsource.f90

    r5159 r5182  
    22
    33  USE dimphy
    4   USE infotrac
     4  USE lmdz_infotrac
    55  USE lmdz_libmath, ONLY: ismax, ismin
    66
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/phys_output_write_spl_mod.F90

    r5160 r5182  
    382382    USE pbl_surface_mod, ONLY: snow
    383383    USE indice_sol_mod, ONLY: nbsrf
    384     USE infotrac, ONLY: nqtot, nbtr, tracers
     384    USE lmdz_infotrac, ONLY: nqtot, nbtr, tracers
    385385    USE lmdz_geometry, ONLY: cell_area
    386386    USE surface_data, ONLY: type_ocean, version_ocean, ok_veget, landice_opt
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/sediment_mod.f90

    r5160 r5182  
    99
    1010  USE dimphy
    11   USE infotrac
     11  USE lmdz_infotrac
    1212  USE lmdz_YOECUMF
    1313  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/trconvect.f90

    r5160 r5182  
    55
    66  USE dimphy
    7   USE infotrac
     7  USE lmdz_infotrac
    88  USE indice_sol_mod
    99  USE lmdz_yomcst
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_1dutils.f90

    r5160 r5182  
    702702    USE iostart
    703703    USE lmdz_writefield_phy
    704     USE infotrac
     704    USE lmdz_infotrac
    705705    USE control_mod
    706706    USE comconst_mod, ONLY: im, jm, lllm
     
    836836    USE phys_state_var_mod
    837837    USE iostart
    838     USE infotrac
     838    USE lmdz_infotrac
    839839    USE control_mod
    840840    USE comconst_mod, ONLY: cpp, daysec, dtvr, g, kappa, omeg, rad
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_old_lmdz1d.F90

    r5160 r5182  
    3333    USE fonte_neige_mod, ONLY: fonte_neige_init, fonte_neige_final
    3434
    35     USE infotrac
     35    USE lmdz_infotrac
    3636    USE control_mod
    3737    USE indice_sol_mod
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_scm.F90

    r5160 r5182  
    2727    USE fonte_neige_mod, ONLY: fonte_neige_init, fonte_neige_final
    2828
    29     USE infotrac
     29    USE lmdz_infotrac
    3030    USE control_mod
    3131    USE indice_sol_mod
Note: See TracChangeset for help on using the changeset viewer.