Changeset 5128


Ignore:
Timestamp:
Jul 25, 2024, 5:47:25 PM (3 months ago)
Author:
abarral
Message:

Correct bug in vlspltqs_loc.f90 from r2270 where we call SSUM with incorrect arguments.
Merge the three different versions of abort_gcm into one
Fix seq, para 3D compilation broken from r5107 onwards
(lint) usual + Remove uneeded fixed-form continuations

Location:
LMDZ6/branches/Amaury_dev
Files:
2 deleted
95 edited
4 moved

Legend:

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

    r5118 r5128  
    1414  USE temps_mod, ONLY: annee_ref, day_ref, itau_dyn
    1515  USE lmdz_iniprint, ONLY: lunout, prt_level
     16
    1617
    1718  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/check_isotopes.F90

    r5117 r5128  
    33   USE infotrac,    ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
    44                          ntiso, iH2O, nzone, tracers, isoName,  itZonIso, getKey
     5
    56   IMPLICIT NONE
    67   include "dimensions.h"
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/conf_gcm.f90

    r5118 r5128  
    1717  USE temps_mod, ONLY: calend, year_len
    1818  USE lmdz_iniprint, ONLY: lunout, prt_level
     19
    1920
    2021  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/dynetat0.F90

    r5118 r5128  
    2222  USE lmdz_description, ONLY: descript
    2323  USE lmdz_iniprint, ONLY: lunout, prt_level
     24
    2425
    2526  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/dynredem_mod.F90

    r5101 r5128  
    11MODULE dynredem_mod
    22
    3   USE netcdf, ONLY: nf90_strerror,nf90_noerr,nf90_redef,nf90_put_var,nf90_enddef,nf90_put_att,&
    4           nf90_inq_varid,nf90_get_var,nf90_def_var
     3  USE netcdf, ONLY: nf90_strerror, nf90_noerr, nf90_redef, nf90_put_var, nf90_enddef, nf90_put_att, &
     4          nf90_inq_varid, nf90_get_var, nf90_def_var
    55  USE lmdz_cppkeys_wrapper, ONLY: nf90_format
    66  IMPLICIT NONE; PRIVATE
     
    99  include "dimensions.h"
    1010  include "paramet.h"
    11   CHARACTER(LEN=256), SAVE :: fil, modname
    12   INTEGER,            SAVE :: nvarid
     11  CHARACTER(LEN = 256), SAVE :: fil, modname
     12  INTEGER, SAVE :: nvarid
    1313
    1414
     
    1616
    1717
    18 !===============================================================================
    19 
    20 SUBROUTINE dynredem_write_u(ncid,id,var,ll)
    21 
    22 !===============================================================================
    23 ! Arguments:
    24   INTEGER,          INTENT(IN) :: ncid
    25   CHARACTER(LEN=*), INTENT(IN) :: id
    26   REAL,             INTENT(IN) :: var(iip1,jjp1,ll)
    27   INTEGER,          INTENT(IN) :: ll
    28 !===============================================================================
    29 ! Local variables:
    30   INTEGER :: start(4), count(4)
    31 !===============================================================================
    32   start(:)=[1,1,1,1]; count(:)=[iip1,jjp1,ll,1]
    33   CALL err(nf90_inq_varid(ncid,id,nvarid),"inq",id)
    34   CALL err(nf90_put_var(ncid,nvarid,var,start,count),"put",id)
    35  
    36 END SUBROUTINE dynredem_write_u
    37 
    38 !===============================================================================
    39 
    40 
    41 !===============================================================================
    42 
    43 SUBROUTINE dynredem_write_v(ncid,id,var,ll)
    44 
    45 !===============================================================================
    46 ! Arguments:
    47   INTEGER,          INTENT(IN) :: ncid
    48   CHARACTER(LEN=*), INTENT(IN) :: id
    49   REAL,             INTENT(IN) :: var(iip1,jjm,ll)
    50   INTEGER,          INTENT(IN) :: ll
    51 !===============================================================================
    52 ! Local variables:
    53   INTEGER :: start(4), count(4)
    54 !===============================================================================
    55   start(:)=[1,1,1,1]; count(:)=[iip1,jjm,ll,1]
    56   CALL err(nf90_inq_varid(ncid,id,nvarid),"inq",id)
    57   CALL err(nf90_put_var(ncid,nvarid,var,start,count),"put",id)
    58  
    59 END SUBROUTINE dynredem_write_v
    60 
    61 !===============================================================================
    62 
    63 
    64 !===============================================================================
    65 
    66 SUBROUTINE dynredem_read_u(ncid,id,var,ll)
    67 
    68 !===============================================================================
    69 ! Arguments:
    70   INTEGER,          INTENT(IN) :: ncid
    71   CHARACTER(LEN=*), INTENT(IN) :: id
    72   REAL,             INTENT(OUT) :: var(iip1,jjp1,ll)
    73   INTEGER,          INTENT(IN) :: ll
    74 !===============================================================================
    75 ! Local variables:
    76   INTEGER :: start(4), count(4)
    77 !===============================================================================
    78   start(:)=[1,1,1,1]; count(:)=[iip1,jjp1,ll,1]
    79   CALL err(nf90_inq_varid(ncid,id,nvarid),"inq",id)
    80   CALL err(nf90_get_var(ncid,nvarid,var,start,count),"get",id)
    81  
    82 END SUBROUTINE dynredem_read_u   
    83 
    84 !===============================================================================
    85 
    86 
    87 !===============================================================================
    88 
    89 SUBROUTINE cre_var(ncid,var,title,did,units)
    90 
    91 !===============================================================================
    92 ! Arguments:
    93   INTEGER,                    INTENT(IN) :: ncid
    94   CHARACTER(LEN=*),          INTENT(IN) :: var, title
    95   INTEGER,                    INTENT(IN) :: did(:)
    96   CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: units
    97 !===============================================================================
    98   CALL err(nf90_def_var(ncid,var,nf90_format,did,nvarid),"inq",var)
    99   IF(title/="")      CALL err(nf90_put_att(ncid,nvarid,"title",title),var)
    100   IF(PRESENT(units)) CALL err(nf90_put_att(ncid,nvarid,"units",units),var)
    101 
    102 END SUBROUTINE cre_var
    103 
    104 !===============================================================================
    105 
    106 
    107 !===============================================================================
    108 
    109 SUBROUTINE put_var1(ncid,var,title,did,v,units)
    110 
    111 !===============================================================================
    112 ! Arguments:
    113   INTEGER,                    INTENT(IN) :: ncid
    114   CHARACTER(LEN=*),          INTENT(IN) :: var, title
    115   INTEGER,                    INTENT(IN) :: did(1)
    116   REAL,                      INTENT(IN) :: v(:)
    117   CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: units
    118 !===============================================================================
    119   IF(     PRESENT(units)) CALL cre_var(ncid,var,title,did,units)
    120   IF(.NOT.PRESENT(units)) CALL cre_var(ncid,var,title,did)
    121   CALL err(nf90_enddef(ncid))
    122   CALL err(nf90_put_var(ncid,nvarid,v),"put",var)
    123   CALL err(nf90_redef(ncid))
    124 
    125 END SUBROUTINE put_var1
    126 
    127 !===============================================================================
    128 
    129 
    130 !===============================================================================
    131 
    132 SUBROUTINE put_var2(ncid,var,title,did,v,units)
    133 
    134 !===============================================================================
    135 ! Arguments:
    136   INTEGER,                    INTENT(IN) :: ncid
    137   CHARACTER(LEN=*),          INTENT(IN) :: var, title
    138   INTEGER,                    INTENT(IN) :: did(2)
    139   REAL,                       INTENT(IN) :: v(:,:)
    140   CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: units
    141 !===============================================================================
    142   IF(     PRESENT(units)) CALL cre_var(ncid,var,title,did,units)
    143   IF(.NOT.PRESENT(units)) CALL cre_var(ncid,var,title,did)
    144   CALL err(nf90_enddef(ncid))
    145   CALL err(nf90_put_var(ncid,nvarid,v),"put",var)
    146   CALL err(nf90_redef(ncid))
    147 
    148 END SUBROUTINE put_var2
    149 
    150 !===============================================================================
    151 
    152 
    153 !===============================================================================
    154 
    155 FUNCTION msg(typ,nam)
    156 
    157 !===============================================================================
    158 ! Arguments:
    159   CHARACTER(LEN=256)                    :: msg    !--- STANDARDIZED MESSAGE
    160   CHARACTER(LEN=*),          INTENT(IN) :: typ    !--- TYPE OF OPERATION
    161   CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: nam    !--- FIELD NAME
    162 !===============================================================================
    163   SELECT CASE(typ)
    164     CASE('open');  msg="Opening failed for <"//TRIM(fil)//">"
    165     CASE('close'); msg="Closing failed for <"//TRIM(fil)//">"
    166     CASE('get');   msg="Reading failed for <"//TRIM(nam)//">"
    167     CASE('put');   msg="Writting failed for <"//TRIM(nam)//">"
    168     CASE('inq');   msg="Missing field <"//TRIM(nam)//">"
    169     CASE('fnd');   msg="Found field <"//TRIM(nam)//">"
    170   END SELECT
    171   msg=TRIM(msg)//" in file <"//TRIM(fil)//">"
    172 
    173 END FUNCTION msg
    174 
    175 !===============================================================================
    176 
    177 
    178 !===============================================================================
    179 
    180 SUBROUTINE err(ierr,typ,nam)
    181 
    182 !===============================================================================
    183 ! Arguments:
    184   INTEGER,                    INTENT(IN) :: ierr   !--- NetCDF ERROR CODE
    185   CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: typ    !--- TYPE OF OPERATION
    186   CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: nam    !--- FIELD NAME
    187 !===============================================================================
    188   IF(ierr==nf90_noerr) RETURN
    189   IF(.NOT.PRESENT(typ)) THEN
    190     CALL ABORT_gcm(modname,nf90_strerror(ierr),ierr)
    191   ELSE
    192     CALL ABORT_gcm(modname,msg(typ,nam),ierr)
    193   END IF
    194 
    195 END SUBROUTINE err
    196 
    197 !===============================================================================
     18  !===============================================================================
     19
     20  SUBROUTINE dynredem_write_u(ncid, id, var, ll)
     21
     22    !===============================================================================
     23    ! Arguments:
     24    INTEGER, INTENT(IN) :: ncid
     25    CHARACTER(LEN = *), INTENT(IN) :: id
     26    REAL, INTENT(IN) :: var(iip1, jjp1, ll)
     27    INTEGER, INTENT(IN) :: ll
     28    !===============================================================================
     29    ! Local variables:
     30    INTEGER :: start(4), count(4)
     31    !===============================================================================
     32    start(:) = [1, 1, 1, 1]; count(:) = [iip1, jjp1, ll, 1]
     33    CALL err(nf90_inq_varid(ncid, id, nvarid), "inq", id)
     34    CALL err(nf90_put_var(ncid, nvarid, var, start, count), "put", id)
     35
     36  END SUBROUTINE dynredem_write_u
     37
     38  !===============================================================================
     39
     40
     41  !===============================================================================
     42
     43  SUBROUTINE dynredem_write_v(ncid, id, var, ll)
     44
     45    !===============================================================================
     46    ! Arguments:
     47    INTEGER, INTENT(IN) :: ncid
     48    CHARACTER(LEN = *), INTENT(IN) :: id
     49    REAL, INTENT(IN) :: var(iip1, jjm, ll)
     50    INTEGER, INTENT(IN) :: ll
     51    !===============================================================================
     52    ! Local variables:
     53    INTEGER :: start(4), count(4)
     54    !===============================================================================
     55    start(:) = [1, 1, 1, 1]; count(:) = [iip1, jjm, ll, 1]
     56    CALL err(nf90_inq_varid(ncid, id, nvarid), "inq", id)
     57    CALL err(nf90_put_var(ncid, nvarid, var, start, count), "put", id)
     58
     59  END SUBROUTINE dynredem_write_v
     60
     61  !===============================================================================
     62
     63
     64  !===============================================================================
     65
     66  SUBROUTINE dynredem_read_u(ncid, id, var, ll)
     67
     68    !===============================================================================
     69    ! Arguments:
     70    INTEGER, INTENT(IN) :: ncid
     71    CHARACTER(LEN = *), INTENT(IN) :: id
     72    REAL, INTENT(OUT) :: var(iip1, jjp1, ll)
     73    INTEGER, INTENT(IN) :: ll
     74    !===============================================================================
     75    ! Local variables:
     76    INTEGER :: start(4), count(4)
     77    !===============================================================================
     78    start(:) = [1, 1, 1, 1]; count(:) = [iip1, jjp1, ll, 1]
     79    CALL err(nf90_inq_varid(ncid, id, nvarid), "inq", id)
     80    CALL err(nf90_get_var(ncid, nvarid, var, start, count), "get", id)
     81
     82  END SUBROUTINE dynredem_read_u
     83
     84  !===============================================================================
     85
     86
     87  !===============================================================================
     88
     89  SUBROUTINE cre_var(ncid, var, title, did, units)
     90
     91    !===============================================================================
     92    ! Arguments:
     93    INTEGER, INTENT(IN) :: ncid
     94    CHARACTER(LEN = *), INTENT(IN) :: var, title
     95    INTEGER, INTENT(IN) :: did(:)
     96    CHARACTER(LEN = *), OPTIONAL, INTENT(IN) :: units
     97    !===============================================================================
     98    CALL err(nf90_def_var(ncid, var, nf90_format, did, nvarid), "inq", var)
     99    IF(title/="")      CALL err(nf90_put_att(ncid, nvarid, "title", title), var)
     100    IF(PRESENT(units)) CALL err(nf90_put_att(ncid, nvarid, "units", units), var)
     101
     102  END SUBROUTINE cre_var
     103
     104  !===============================================================================
     105
     106
     107  !===============================================================================
     108
     109  SUBROUTINE put_var1(ncid, var, title, did, v, units)
     110
     111    !===============================================================================
     112    ! Arguments:
     113    INTEGER, INTENT(IN) :: ncid
     114    CHARACTER(LEN = *), INTENT(IN) :: var, title
     115    INTEGER, INTENT(IN) :: did(1)
     116    REAL, INTENT(IN) :: v(:)
     117    CHARACTER(LEN = *), OPTIONAL, INTENT(IN) :: units
     118    !===============================================================================
     119    IF(PRESENT(units)) CALL cre_var(ncid, var, title, did, units)
     120    IF(.NOT.PRESENT(units)) CALL cre_var(ncid, var, title, did)
     121    CALL err(nf90_enddef(ncid))
     122    CALL err(nf90_put_var(ncid, nvarid, v), "put", var)
     123    CALL err(nf90_redef(ncid))
     124
     125  END SUBROUTINE put_var1
     126
     127  !===============================================================================
     128
     129
     130  !===============================================================================
     131
     132  SUBROUTINE put_var2(ncid, var, title, did, v, units)
     133
     134    !===============================================================================
     135    ! Arguments:
     136    INTEGER, INTENT(IN) :: ncid
     137    CHARACTER(LEN = *), INTENT(IN) :: var, title
     138    INTEGER, INTENT(IN) :: did(2)
     139    REAL, INTENT(IN) :: v(:, :)
     140    CHARACTER(LEN = *), OPTIONAL, INTENT(IN) :: units
     141    !===============================================================================
     142    IF(PRESENT(units)) CALL cre_var(ncid, var, title, did, units)
     143    IF(.NOT.PRESENT(units)) CALL cre_var(ncid, var, title, did)
     144    CALL err(nf90_enddef(ncid))
     145    CALL err(nf90_put_var(ncid, nvarid, v), "put", var)
     146    CALL err(nf90_redef(ncid))
     147
     148  END SUBROUTINE put_var2
     149
     150  !===============================================================================
     151
     152
     153  !===============================================================================
     154
     155  FUNCTION msg(typ, nam)
     156
     157    !===============================================================================
     158    ! Arguments:
     159    CHARACTER(LEN = 256) :: msg    !--- STANDARDIZED MESSAGE
     160    CHARACTER(LEN = *), INTENT(IN) :: typ    !--- TYPE OF OPERATION
     161    CHARACTER(LEN = *), OPTIONAL, INTENT(IN) :: nam    !--- FIELD NAME
     162    !===============================================================================
     163    SELECT CASE(typ)
     164    CASE('open');  msg = "Opening failed for <" // TRIM(fil) // ">"
     165    CASE('close'); msg = "Closing failed for <" // TRIM(fil) // ">"
     166    CASE('get');   msg = "Reading failed for <" // TRIM(nam) // ">"
     167    CASE('put');   msg = "Writting failed for <" // TRIM(nam) // ">"
     168    CASE('inq');   msg = "Missing field <" // TRIM(nam) // ">"
     169    CASE('fnd');   msg = "Found field <" // TRIM(nam) // ">"
     170    END SELECT
     171    msg = TRIM(msg) // " in file <" // TRIM(fil) // ">"
     172
     173  END FUNCTION msg
     174
     175  !===============================================================================
     176
     177
     178  !===============================================================================
     179
     180  SUBROUTINE err(ierr, typ, nam)
     181
     182    !===============================================================================
     183    ! Arguments:
     184    INTEGER, INTENT(IN) :: ierr   !--- NetCDF ERROR CODE
     185    CHARACTER(LEN = *), OPTIONAL, INTENT(IN) :: typ    !--- TYPE OF OPERATION
     186    CHARACTER(LEN = *), OPTIONAL, INTENT(IN) :: nam    !--- FIELD NAME
     187    !===============================================================================
     188    IF(ierr==nf90_noerr) RETURN
     189    IF(.NOT.PRESENT(typ)) THEN
     190      CALL ABORT_gcm(modname, nf90_strerror(ierr), ierr)
     191    ELSE
     192      CALL ABORT_gcm(modname, msg(typ, nam), ierr)
     193    END IF
     194
     195  END SUBROUTINE err
     196
     197  !===============================================================================
    198198
    199199END MODULE dynredem_mod   
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/friction.F90

    r5118 r5128  
    88  USE comconst_mod, ONLY: pi
    99  USE lmdz_iniprint, ONLY: lunout, prt_level
     10
     11
    1012  IMPLICIT NONE
    1113
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/gcm.F90

    r5118 r5128  
    2828  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    2929  USE lmdz_iniprint, ONLY: lunout, prt_level
     30
    3031
    3132  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/groupe.F90

    r5119 r5128  
    55  USE comconst_mod, ONLY: ngroup
    66  USE lmdz_ssum_scopy, ONLY: scopy
     7
    78
    89  IMPLICIT NONE
     
    105106  CALL vitvert(zconvmm, wm)
    106107
    107 
    108108END SUBROUTINE  groupe
    109109
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/guide_mod.F90

    r5118 r5128  
    1616          nf90_64bit_offset, nf90_inq_dimid, nf90_inquire_dimension, nf90_put_var
    1717  USE lmdz_pres2lev, ONLY: pres2lev
     18
    1819
    1920  IMPLICIT NONE
     
    7576    USE serre_mod, ONLY: grossismx
    7677
     78
    7779    IMPLICIT NONE
    7880
     
    355357    USE comvert_mod, ONLY: ap, bp, preff, presnivs, pressure_exner
    356358    USE lmdz_iniprint, ONLY: lunout, prt_level
     359
    357360
    358361    IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/iniacademic.F90

    r5118 r5128  
    1919  USE lmdz_ran1, ONLY: ran1
    2020  USE lmdz_iniprint, ONLY: lunout, prt_level
     21
    2122
    2223  !   Author:    Frederic Hourdin      original: 15/01/93
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/integrd.F90

    r5123 r5128  
    1313  USE lmdz_iniprint, ONLY: lunout, prt_level
    1414  USE lmdz_ssum_scopy, ONLY: scopy, ssum
     15
    1516
    1617  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/leapfrog.F90

    r5123 r5128  
    2828  USE lmdz_iniprint, ONLY: lunout, prt_level
    2929  USE lmdz_ssum_scopy, ONLY: scopy, ssum
     30
    3031
    3132  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/paramet.h

    r5099 r5128  
    1818
    1919      PARAMETER( iip1= iim+1,iip2=iim+2,iip3=iim+3                       &
    20      &    ,jjp1=jjm+1-1/jjm)
     20          ,jjp1=jjm+1-1/jjm)
    2121      PARAMETER( llmp1 = llm+1,  llmp2 = llm+2, llmm1 = llm-1 )
    2222      PARAMETER( kftd  = iim/2 -ndm )
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/replay3d.F90

    r5117 r5128  
    2121        grossismx, grossismy, dzoomx, dzoomy,taux,tauy
    2222  USE mod_const_mpi, ONLY: comm_lmdz
     23
    2324
    2425  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/vlspltqs.F90

    r5123 r5128  
    1616  !
    1717  ! pente_max facteur de limitation des pentes: 2 en general
    18   !                                            0 pour un schema amont
     18  !0 pour un schema amont
    1919  ! pbaru,pbarv,w flux de masse en u ,v ,w
    2020  ! pdt pas de temps
  • LMDZ6/branches/Amaury_dev/libf/dyn3d/wrgrads.f90

    r5117 r5128  
    33subroutine wrgrads(if, nl, field, name, titlevar)
    44  USE lmdz_formcoord, ONLY: formcoord
     5
     6
    57  IMPLICIT NONE
    68
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/comdissip.h

    r5099 r5128  
    66
    77      COMMON/comdissip/                                                 &
    8      &    coefdis,tetavel,tetatemp,gamdissip,niterdis
     8          coefdis,tetavel,tetatemp,gamdissip,niterdis
    99
    1010
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/comdissipn.h

    r5099 r5128  
    1212
    1313      COMMON/comdissipn/ tetaudiv(llm),tetaurot(llm),tetah(llm)   ,     &
    14      &                        cdivu,      crot,         cdivh
     14                              cdivu,      crot,         cdivh
    1515
    1616!    Les parametres de ce common proviennent des calculs effectues dans
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/comdissnew.h

    r5117 r5128  
    1212
    1313      COMMON/comdissnew/ lstardis,nitergdiv,nitergrot,niterh,tetagdiv,  &
    14      &                   tetagrot,tetatemp,coefdis, vert_prof_dissip
     14                         tetagrot,tetatemp,coefdis, vert_prof_dissip
    1515
    1616      LOGICAL lstardis
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/comgeom.h

    r5099 r5128  
    44!CDK comgeom
    55      COMMON/comgeom/                                                   &
    6      & cu(ip1jmp1),cv(ip1jm),unscu2(ip1jmp1),unscv2(ip1jm),             &
    7      & aire(ip1jmp1),airesurg(ip1jmp1),aireu(ip1jmp1),                  &
    8      & airev(ip1jm),unsaire(ip1jmp1),apoln,apols,                       &
    9      & unsairez(ip1jm),airuscv2(ip1jm),airvscu2(ip1jm),                 &
    10      & aireij1(ip1jmp1),aireij2(ip1jmp1),aireij3(ip1jmp1),              &
    11      & aireij4(ip1jmp1),alpha1(ip1jmp1),alpha2(ip1jmp1),                &
    12      & alpha3(ip1jmp1),alpha4(ip1jmp1),alpha1p2(ip1jmp1),               &
    13      & alpha1p4(ip1jmp1),alpha2p3(ip1jmp1),alpha3p4(ip1jmp1),           &
    14      & fext(ip1jm),constang(ip1jmp1),rlatu(jjp1),rlatv(jjm),            &
    15      & rlonu(iip1),rlonv(iip1),cuvsurcv(ip1jm),cvsurcuv(ip1jm),         &
    16      & cvusurcu(ip1jmp1),cusurcvu(ip1jmp1),cuvscvgam1(ip1jm),           &
    17      & cuvscvgam2(ip1jm),cvuscugam1(ip1jmp1),                           &
    18      & cvuscugam2(ip1jmp1),cvscuvgam(ip1jm),cuscvugam(ip1jmp1),         &
    19      & unsapolnga1,unsapolnga2,unsapolsga1,unsapolsga2,                 &
    20      & unsair_gam1(ip1jmp1),unsair_gam2(ip1jmp1),unsairz_gam(ip1jm),    &
    21      & aivscu2gam(ip1jm),aiuscv2gam(ip1jm),xprimu(iip1),xprimv(iip1)
     6       cu(ip1jmp1),cv(ip1jm),unscu2(ip1jmp1),unscv2(ip1jm),             &
     7       aire(ip1jmp1),airesurg(ip1jmp1),aireu(ip1jmp1),                  &
     8       airev(ip1jm),unsaire(ip1jmp1),apoln,apols,                       &
     9       unsairez(ip1jm),airuscv2(ip1jm),airvscu2(ip1jm),                 &
     10       aireij1(ip1jmp1),aireij2(ip1jmp1),aireij3(ip1jmp1),              &
     11       aireij4(ip1jmp1),alpha1(ip1jmp1),alpha2(ip1jmp1),                &
     12       alpha3(ip1jmp1),alpha4(ip1jmp1),alpha1p2(ip1jmp1),               &
     13       alpha1p4(ip1jmp1),alpha2p3(ip1jmp1),alpha3p4(ip1jmp1),           &
     14       fext(ip1jm),constang(ip1jmp1),rlatu(jjp1),rlatv(jjm),            &
     15       rlonu(iip1),rlonv(iip1),cuvsurcv(ip1jm),cvsurcuv(ip1jm),         &
     16       cvusurcu(ip1jmp1),cusurcvu(ip1jmp1),cuvscvgam1(ip1jm),           &
     17       cuvscvgam2(ip1jm),cvuscugam1(ip1jmp1),                           &
     18       cvuscugam2(ip1jmp1),cvscuvgam(ip1jm),cuscvugam(ip1jmp1),         &
     19       unsapolnga1,unsapolnga2,unsapolsga1,unsapolsga2,                 &
     20       unsair_gam1(ip1jmp1),unsair_gam2(ip1jmp1),unsairz_gam(ip1jm),    &
     21       aivscu2gam(ip1jm),aiuscv2gam(ip1jm),xprimu(iip1),xprimv(iip1)
    2222
    2323        REAL                                                            &
    24      & cu,cv,unscu2,unscv2,aire,airesurg,aireu,airev,unsaire,apoln     ,&
    25      & apols,unsairez,airuscv2,airvscu2,aireij1,aireij2,aireij3,aireij4,&
    26      & alpha1,alpha2,alpha3,alpha4,alpha1p2,alpha1p4,alpha2p3,alpha3p4 ,&
    27      & fext,constang,rlatu,rlatv,rlonu,rlonv,cuvscvgam1,cuvscvgam2     ,&
    28      & cvuscugam1,cvuscugam2,cvscuvgam,cuscvugam,unsapolnga1,unsapolnga2&
    29      & ,unsapolsga1,unsapolsga2,unsair_gam1,unsair_gam2,unsairz_gam    ,&
    30      & aivscu2gam ,aiuscv2gam,cuvsurcv,cvsurcuv,cvusurcu,cusurcvu,xprimu&
    31      & , xprimv
     24       cu,cv,unscu2,unscv2,aire,airesurg,aireu,airev,unsaire,apoln     ,&
     25       apols,unsairez,airuscv2,airvscu2,aireij1,aireij2,aireij3,aireij4,&
     26       alpha1,alpha2,alpha3,alpha4,alpha1p2,alpha1p4,alpha2p3,alpha3p4 ,&
     27       fext,constang,rlatu,rlatv,rlonu,rlonv,cuvscvgam1,cuvscvgam2     ,&
     28       cvuscugam1,cvuscugam2,cvscuvgam,cuscvugam,unsapolnga1,unsapolnga2&
     29       ,unsapolsga1,unsapolsga2,unsair_gam1,unsair_gam2,unsairz_gam    ,&
     30       aivscu2gam ,aiuscv2gam,cuvsurcv,cvsurcuv,cvusurcu,cusurcvu,xprimu&
     31       , xprimv
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/comgeom2.h

    r5099 r5128  
    44!CDK comgeom2
    55      COMMON/comgeom/                                                   &
    6      & cu(iip1,jjp1),cv(iip1,jjm),unscu2(iip1,jjp1),unscv2(iip1,jjm)  , &
    7      & aire(iip1,jjp1),airesurg(iip1,jjp1),aireu(iip1,jjp1)           , &
    8      & airev(iip1,jjm),unsaire(iip1,jjp1),apoln,apols                 , &
    9      & unsairez(iip1,jjm),airuscv2(iip1,jjm),airvscu2(iip1,jjm)       , &
    10      & aireij1(iip1,jjp1),aireij2(iip1,jjp1),aireij3(iip1,jjp1)       , &
    11      & aireij4(iip1,jjp1),alpha1(iip1,jjp1),alpha2(iip1,jjp1)         , &
    12      & alpha3(iip1,jjp1),alpha4(iip1,jjp1),alpha1p2(iip1,jjp1)        , &
    13      & alpha1p4(iip1,jjp1),alpha2p3(iip1,jjp1),alpha3p4(iip1,jjp1)    , &
    14      & fext(iip1,jjm),constang(iip1,jjp1), rlatu(jjp1),rlatv(jjm),      &
    15      & rlonu(iip1),rlonv(iip1),cuvsurcv(iip1,jjm),cvsurcuv(iip1,jjm)  , &
    16      & cvusurcu(iip1,jjp1),cusurcvu(iip1,jjp1)                        , &
    17      & cuvscvgam1(iip1,jjm),cuvscvgam2(iip1,jjm),cvuscugam1(iip1,jjp1), &
    18      & cvuscugam2(iip1,jjp1),cvscuvgam(iip1,jjm),cuscvugam(iip1,jjp1) , &
    19      & unsapolnga1,unsapolnga2,unsapolsga1,unsapolsga2                , &
    20      & unsair_gam1(iip1,jjp1),unsair_gam2(iip1,jjp1)                  , &
    21      & unsairz_gam(iip1,jjm),aivscu2gam(iip1,jjm),aiuscv2gam(iip1,jjm)  &
    22      & , xprimu(iip1),xprimv(iip1)
     6       cu(iip1,jjp1),cv(iip1,jjm),unscu2(iip1,jjp1),unscv2(iip1,jjm)  , &
     7       aire(iip1,jjp1),airesurg(iip1,jjp1),aireu(iip1,jjp1)           , &
     8       airev(iip1,jjm),unsaire(iip1,jjp1),apoln,apols                 , &
     9       unsairez(iip1,jjm),airuscv2(iip1,jjm),airvscu2(iip1,jjm)       , &
     10       aireij1(iip1,jjp1),aireij2(iip1,jjp1),aireij3(iip1,jjp1)       , &
     11       aireij4(iip1,jjp1),alpha1(iip1,jjp1),alpha2(iip1,jjp1)         , &
     12       alpha3(iip1,jjp1),alpha4(iip1,jjp1),alpha1p2(iip1,jjp1)        , &
     13       alpha1p4(iip1,jjp1),alpha2p3(iip1,jjp1),alpha3p4(iip1,jjp1)    , &
     14       fext(iip1,jjm),constang(iip1,jjp1), rlatu(jjp1),rlatv(jjm),      &
     15       rlonu(iip1),rlonv(iip1),cuvsurcv(iip1,jjm),cvsurcuv(iip1,jjm)  , &
     16       cvusurcu(iip1,jjp1),cusurcvu(iip1,jjp1)                        , &
     17       cuvscvgam1(iip1,jjm),cuvscvgam2(iip1,jjm),cvuscugam1(iip1,jjp1), &
     18       cvuscugam2(iip1,jjp1),cvscuvgam(iip1,jjm),cuscvugam(iip1,jjp1) , &
     19       unsapolnga1,unsapolnga2,unsapolsga1,unsapolsga2                , &
     20       unsair_gam1(iip1,jjp1),unsair_gam2(iip1,jjp1)                  , &
     21       unsairz_gam(iip1,jjm),aivscu2gam(iip1,jjm),aiuscv2gam(iip1,jjm)  &
     22       , xprimu(iip1),xprimv(iip1)
    2323
    2424
    2525      REAL                                                               &
    26      & cu,cv,unscu2,unscv2,aire,airesurg,aireu,airev,apoln,apols,unsaire &
    27      & ,unsairez,airuscv2,airvscu2,aireij1,aireij2,aireij3,aireij4     , &
    28      & alpha1,alpha2,alpha3,alpha4,alpha1p2,alpha1p4,alpha2p3,alpha3p4 , &
    29      & fext,constang,rlatu,rlatv,rlonu,rlonv,cuvscvgam1,cuvscvgam2     , &
    30      & cvuscugam1,cvuscugam2,cvscuvgam,cuscvugam,unsapolnga1           , &
    31      & unsapolnga2,unsapolsga1,unsapolsga2,unsair_gam1,unsair_gam2     , &
    32      & unsairz_gam,aivscu2gam,aiuscv2gam,cuvsurcv,cvsurcuv,cvusurcu    , &
    33      & cusurcvu,xprimu,xprimv
     26       cu,cv,unscu2,unscv2,aire,airesurg,aireu,airev,apoln,apols,unsaire &
     27       ,unsairez,airuscv2,airvscu2,aireij1,aireij2,aireij3,aireij4     , &
     28       alpha1,alpha2,alpha3,alpha4,alpha1p2,alpha1p4,alpha2p3,alpha3p4 , &
     29       fext,constang,rlatu,rlatv,rlonu,rlonv,cuvscvgam1,cuvscvgam2     , &
     30       cvuscugam1,cvuscugam2,cvscuvgam,cuscvugam,unsapolnga1           , &
     31       unsapolnga2,unsapolsga1,unsapolsga2,unsair_gam1,unsair_gam2     , &
     32       unsairz_gam,aivscu2gam,aiuscv2gam,cuvsurcv,cvsurcuv,cvusurcu    , &
     33       cusurcvu,xprimu,xprimv
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/disvert.F90

    r5118 r5128  
    1010  USE logic_mod, ONLY: ok_strato
    1111  USE lmdz_iniprint, ONLY: lunout, prt_level
     12
    1213
    1314  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/exner_hyb_m.F90

    r5119 r5128  
    3535    USE comconst_mod, ONLY: jmp1, cpp, kappa, r
    3636    USE comvert_mod, ONLY: preff
    37     USE lmdz_filtreg, ONLY: filtreg
    38    
     37    USE lmdz_filtreg, ONLY: filtreg ! < TODO if we uncomment this, compilation fails in 1D because 1D doesn't have the filtrez/ sources... But why does it even compile in the first place when it's commented ? ...
     38
    3939    IMPLICIT NONE
    4040   
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/exner_milieu_m.F90

    r5119 r5128  
    3333    USE comvert_mod, ONLY: preff
    3434    USE lmdz_filtreg, ONLY: filtreg
     35
    3536   
    3637    IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/grilles_gcm_netcdf_sub.F90

    r5116 r5128  
    234234  USE netcdf, ONLY: nf90_strerror
    235235
     236
    236237  INTEGER status
    237238  IF (status/=nf90_noerr) THEN
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/infotrac.F90

    r5118 r5128  
    77          delPhase, niso, getKey, isot_type, processIsotopes, isotope, maxTableWidth, iqIsoPha, nphas, ixIso, isoPhas, &
    88          addPhase, iH2O, addKey, isoSelect, testTracersFiles, isoKeys, indexUpdate, iqWIsoPha, nbIso, ntiso, isoName, isoCheck
     9
     10
    911  IMPLICIT NONE
    1012
     
    119121    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_INCA, CPPKEY_STRATAER
    120122    USE lmdz_iniprint, ONLY: lunout, prt_level
     123
    121124    IMPLICIT NONE
    122125    !==============================================================================================================================
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/iniconst.F90

    r5118 r5128  
    99  USE comvert_mod, ONLY: disvert_type, pressure_exner
    1010  USE lmdz_iniprint, ONLY: lunout, prt_level
     11
    1112
    1213  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3d_common/inidissip.F90

    r5118 r5128  
    1818  USE lmdz_ran1, ONLY: ran1
    1919  USE lmdz_iniprint, ONLY: lunout, prt_level
     20
    2021
    2122  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/advtrac_loc.f90

    r5117 r5128  
    2222  USE lmdz_libmath, ONLY: minmax
    2323
     24
    2425  IMPLICIT NONE
    2526
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/bilan_dyn_loc.f90

    r5118 r5128  
    1919  USE temps_mod, ONLY: annee_ref, day_ref, itau_dyn
    2020  USE lmdz_iniprint, ONLY: lunout, prt_level
     21
    2122
    2223  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/check_isotopes_loc.F90

    r5117 r5128  
    44   USE infotrac,    ONLY: nqtot, niso, nphas, isotope, isoCheck, iqIsoPha, isoSelect, &
    55                          ntiso, iH2O, nzone, tracers, isoName,  itZonIso, getKey
     6
     7
    68   IMPLICIT NONE
    79   include "dimensions.h"
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/conf_gcm.F90

    r5120 r5128  
    2222  USE temps_mod, ONLY: calend, year_len, offline_time
    2323  USE lmdz_iniprint, ONLY: lunout, prt_level
     24
    2425
    2526  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynetat0_loc.F90

    r5118 r5128  
    2323  USE lmdz_description, ONLY: descript
    2424  USE lmdz_iniprint, ONLY: lunout, prt_level
     25
    2526
    2627  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/dynredem_mod.F90

    r5101 r5128  
    250250SUBROUTINE err(ierr,typ,nam)
    251251
    252 !===============================================================================
    253252  IMPLICIT NONE
    254253!===============================================================================
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/exner_hyb_loc_m.F90

    r5119 r5128  
    3737    USE comvert_mod, ONLY: preff
    3838    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_DEBUGIO
     39
    3940
    4041    IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/exner_milieu_loc_m.F90

    r5119 r5128  
    3333    USE comconst_mod, ONLY: cpp, kappa, r, jmp1
    3434    USE comvert_mod, ONLY: preff
     35
    3536   
    3637    IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/friction_loc.f90

    r5118 r5128  
    88  USE comconst_mod, ONLY: pi
    99  USE lmdz_iniprint, ONLY: lunout, prt_level
     10
     11
    1012  IMPLICIT NONE
    1113
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/gcm.F90

    r5118 r5128  
    2727  USE lmdz_description, ONLY: descript
    2828  USE lmdz_iniprint, ONLY: lunout, prt_level
     29
    2930
    3031  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/guide_loc_mod.F90

    r5117 r5128  
    1515  USE parallel_lmdz
    1616  USE lmdz_pres2lev, ONLY: pres2lev
     17
    1718
    1819  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/iniacademic_loc.F90

    r5118 r5128  
    2020  USE lmdz_ran1, ONLY: ran1
    2121  USE lmdz_iniprint, ONLY: lunout, prt_level
     22
    2223
    2324  !   Author:    Frederic Hourdin      original: 15/01/93
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/integrd_loc.f90

    r5123 r5128  
    1818  USE lmdz_iniprint, ONLY: lunout, prt_level
    1919  USE lmdz_ssum_scopy, ONLY: ssum
     20
    2021
    2122  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/leapfrog_loc.F90

    r5123 r5128  
    4242  USE lmdz_description, ONLY: descript
    4343  USE lmdz_iniprint, ONLY: lunout, prt_level
     44
    4445
    4546  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/lmdz_filtreg_p.F90

    r5120 r5128  
    1414    USE lmdz_timer_filtre, ONLY: init_timer, start_timer, stop_timer
    1515    USE lmdz_coefils, ONLY: jfiltnu, jfiltnv, jfiltsu, jfiltsv, sddu, sddv, unsddu, unsddv, modfrstv, modfrstu
     16
    1617
    1718    !=======================================================================
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/mod_hallo.F90

    r5119 r5128  
    138138     
    139139  SUBROUTINE allocate_buffer(Size,Index,Pos)
     140
    140141  IMPLICIT NONE
    141142    INTEGER :: Size
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/parallel_lmdz.F90

    r5119 r5128  
    374374    ! ug Pour les sorties XIOS
    375375    USE lmdz_wxios
     376
    376377
    377378#ifdef CPP_COUPLE
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/paramet.h

    r5099 r5128  
    1818
    1919      PARAMETER( iip1= iim+1-1/iim,iip2=iim+2,iip3=iim+3                &
    20      &    ,jjp1=jjm+1-1/jjm)
     20          ,jjp1=jjm+1-1/jjm)
    2121      PARAMETER( llmp1 = llm+1,  llmp2 = llm+2, llmm1 = llm-1 )
    2222      PARAMETER( kftd  = iim/2 -ndm )
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/qminimum_loc.f90

    r5123 r5128  
    88  USE lmdz_readTracFiles, ONLY: addPhase
    99  USE lmdz_iniprint, ONLY: lunout, prt_level
     10
     11
    1012  IMPLICIT none
    1113  !
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/times.F90

    r5119 r5128  
    4949 
    5050  SUBROUTINE start_timer(no_timer)
     51
     52
    5153    IMPLICIT NONE
    5254    INTEGER :: no_timer
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlsplt_loc.f90

    r5123 r5128  
    814814  USE lmdz_iniprint, ONLY: lunout, prt_level
    815815
     816
    816817  IMPLICIT NONE
    817818  !
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlspltgen_loc.F90

    r5117 r5128  
    3131  USE comconst_mod, ONLY: cpp
    3232  USE logic_mod, ONLY: adv_qsat_liq
     33
     34
    3335  IMPLICIT NONE
    3436
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlspltqs_loc.f90

    r5123 r5128  
    771771
    772772    IF (pole_sud) THEN
    773 
    774       convps = -SSUM(iim, qbyv(ip1jm - iim, l, iq), iq, 1) / apols  ! /!\ called with 4 args ???
     773      convps = -SSUM(iim, qbyv(ip1jm - iim, l, iq), 1) / apols
    775774      convmps = -SSUM(iim, masse_adv_v(ip1jm - iim, l), 1) / apols
    776775      DO ij = ip1jm + 1, ip1jmp1
     
    780779        masse(ij, l, iq) = newmasse
    781780      ENDDO
    782 
    783781    ENDIF
    784782    !.-. fin ancienne version
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/wrgrads.f90

    r5117 r5128  
    33SUBROUTINE wrgrads(if, nl, field, name, titlevar)
    44  USE lmdz_formcoord, ONLY: formcoord
     5
     6
    57  IMPLICIT NONE
    68
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/calfis.f90

    r5123 r5128  
    3737  USE lmdz_ssum_scopy, ONLY: scopy, ssum
    3838
     39
    3940  IMPLICIT NONE
    4041  !=======================================================================
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/gr_dyn_fi.f90

    r5119 r5128  
    33SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi)
    44  USE lmdz_ssum_scopy, ONLY: scopy
     5
    56
    67  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/grid_atob_m.f90

    r5117 r5128  
    209209! Purpose: Compute rugosity due to orography by using standard dev in a 1x1 cell
    210210!-------------------------------------------------------------------------------
     211
    211212  IMPLICIT NONE
    212213!-------------------------------------------------------------------------------
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/lmdz_calfis_loc.F90

    r5123 r5128  
    5252    USE lmdz_iniprint, ONLY: lunout, prt_level
    5353    USE lmdz_ssum_scopy, ONLY: ssum
     54
    5455
    5556
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/callphysiq_mod.F90

    r5117 r5128  
    2323  USE physiq_mod, ONLY: physiq
    2424  USE lmdz_xios, ONLY: xios_set_current_context, xios_get_current_context, xios_context
     25
     26
    2527  IMPLICIT NONE
    2628
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/ce0l.F90

    r5118 r5128  
    4646  USE lmdz_mpi
    4747  USE lmdz_iniprint, ONLY: lunout, prt_level
     48
    4849
    4950  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/etat0dyn_netcdf.F90

    r5123 r5128  
    204204  SUBROUTINE startget_dyn3d(var, lon_in, lat_in, pls, workvar, &
    205205          champ, lon_in2, lat_in2)
    206     !-------------------------------------------------------------------------------
     206
     207
    207208    IMPLICIT NONE
    208209    !===============================================================================
     
    396397    USE lmdz_libmath, ONLY: minmax
    397398
     399
    398400    IMPLICIT NONE
    399401    !-------------------------------------------------------------------------------
  • LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/limit_netcdf.f90

    r5118 r5128  
    653653
    654654    SUBROUTINE start_init_orog0(lon_in, lat_in, phis, masque)
    655 
    656       !-------------------------------------------------------------------------------
    657655      USE grid_noro_m, ONLY: grid_noro0
     656
     657
    658658      IMPLICIT NONE
    659659      !===============================================================================
  • LMDZ6/branches/Amaury_dev/libf/misc/lmdz_NOMODULE_abort_gcm.f90

    r5127 r5128  
    1 
    21! $Id: abort_gcm.F 1747 2013-04-23 14:06:30Z lguez $
    32
    4 !
    5 !
    6 SUBROUTINE abort_gcm(modname, message, ierr)
     3! /!\ We can't put this in a module right away with FCM1, as this creates a circular dependency e.g. with wxios through lmdz_iniprint
    74
    8   USE IOIPSL
    9   USE parallel_lmdz
    10   USE lmdz_iniprint, ONLY: lunout, prt_level
    11 
    12   !
     5SUBROUTINE abort_gcm(modname, ierr, message)
     6  !END
    137  ! Stops the simulation cleanly, closing files and printing various
    148  ! comments
     
    1812  !     ierr    = severity of situation ( = 0 normal )
    1913
    20   CHARACTER(LEN=*), INTENT(IN):: modname
    21   INTEGER :: ierr, ierror_mpi
    22   CHARACTER(LEN=*), INTENT(IN):: message
     14  USE IOIPSL, ONLY: histclo, restclo, getin_dump
     15  USE lmdz_wxios, ONLY: using_xios, wxios_close
     16  USE lmdz_phys_mpi_data, ONLY: mpi_rank
     17  USE lmdz_mpi, ONLY: using_mpi
     18  USE mod_const_mpi, ONLY: comm_lmdz
     19  USE lmdz_iniprint, ONLY: lunout, prt_level
     20  IMPLICIT NONE
    2321
    24   WRITE(lunout,*) 'in abort_gcm'
    25 !$OMP MASTER
     22  CHARACTER(LEN = *), INTENT(IN) :: modname
     23  INTEGER, INTENT(IN) :: ierr
     24  CHARACTER(LEN = *), INTENT(IN) :: message
     25
     26  INTEGER :: ierror_mpi
     27
     28  WRITE(lunout, *) 'in abort_gcm'
     29
     30  IF (using_xios) THEN !Fermeture propre de XIOS
     31    CALL wxios_close()
     32  ENDIF
     33
     34  !$OMP MASTER
    2635  CALL histclo
    2736  CALL restclo
    28   IF (MPI_rank == 0) THEN
    29      CALL getin_dump
     37  IF (mpi_rank == 0) THEN
     38    CALL getin_dump
    3039  ENDIF
    31 !$OMP END MASTER
    32   ! CALL histclo(2)
    33   ! CALL histclo(3)
    34   ! CALL histclo(4)
    35   ! CALL histclo(5)
    36   WRITE(lunout,*) 'Stopping in ', modname
    37   WRITE(lunout,*) 'Reason = ',message
     40  !$OMP END MASTER
     41  WRITE(lunout, *) 'Stopping in ', modname
     42  WRITE(lunout, *) 'Reason = ', message
    3843  IF (ierr == 0) THEN
    39     WRITE(lunout,*) 'Everything is cool'
    40   else
    41     WRITE(lunout,*) 'Houston, we have a problem, ierr = ', ierr
     44    WRITE(lunout, *) 'Everything is cool'
     45  ELSE
     46    WRITE(lunout, *) 'Houston, we have a problem, ierr = ', ierr
    4247
    4348    IF (using_mpi) THEN
    44 !$OMP CRITICAL (MPI_ABORT_GCM)
    45       CALL MPI_ABORT(COMM_LMDZ, 1, ierror_mpi)
    46 !$OMP END CRITICAL (MPI_ABORT_GCM)
    47     else
    48      stop 1
    49     endif
    50 
     49      !$OMP CRITICAL (MPI_ABORT_GCM)
     50      CALL MPI_ABORT(comm_lmdz, 1, ierror_mpi)
     51      !$OMP END CRITICAL (MPI_ABORT_GCM)
     52    ELSE
     53      STOP 1
     54    END IF
    5155  ENDIF
    5256END SUBROUTINE abort_gcm
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/checknanqfi.F90

    r5082 r5128  
    11SUBROUTINE checknanqfi(zq,qmin,qmax,comment)
    22  USE dimphy
     3
    34  IMPLICIT NONE
    45
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/phytracr_spl_mod.F90

    r5117 r5128  
    33
    44MODULE phytracr_spl_mod
     5
    56
    67  ! Recuperation des morceaux de la physique de Jeronimo specifiques
  • LMDZ6/branches/Amaury_dev/libf/phylmd/FCTTRE.h

    r5099 r5128  
    2222
    2323      FOEEW ( PTARG,PDELARG ) = EXP (                                   &
    24      &          (R3LES*(1.-PDELARG)+R3IES*PDELARG) * (PTARG-RTT)        &
    25      & / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG)) )
     24                (R3LES*(1.-PDELARG)+R3IES*PDELARG) * (PTARG-RTT)        &
     25       / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG)) )
    2626
    2727      FOEDE ( PTARG,PDELARG,P5ARG,PQSARG,PCOARG ) = PQSARG*PCOARG*P5ARG &
    28      & / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG))**2
     28       / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG))**2
    2929
    3030      qsats(ptarg) = 100.0 * 0.622 * 10.0                               &
    31      &           ** (2.07023 - 0.00320991 * ptarg                       &
    32      &           - 2484.896 / ptarg + 3.56654 * LOG10(ptarg))
     31                 ** (2.07023 - 0.00320991 * ptarg                       &
     32                 - 2484.896 / ptarg + 3.56654 * LOG10(ptarg))
    3333      qsatl(ptarg) = 100.0 * 0.622 * 10.0                               &
    34      &           ** (23.8319 - 2948.964 / ptarg                         &
    35      &           - 5.028 * LOG10(ptarg)                                 &
    36      &           - 29810.16 * EXP( - 0.0699382 * ptarg)                 &
    37      &           + 25.21935 * EXP( - 2999.924 / ptarg))
     34                 ** (23.8319 - 2948.964 / ptarg                         &
     35                 - 5.028 * LOG10(ptarg)                                 &
     36                 - 29810.16 * EXP( - 0.0699382 * ptarg)                 &
     37                 + 25.21935 * EXP( - 2999.924 / ptarg))
    3838
    3939      dqsats(ptarg,pqsarg) = RLVTT/RCPD*pqsarg * (3.56654/ptarg         &
    40      &                     +2484.896*LOG(10.)/ptarg**2                  &
    41      &                     -0.00320991*LOG(10.))
     40                           +2484.896*LOG(10.)/ptarg**2                  &
     41                           -0.00320991*LOG(10.))
    4242      dqsatl(ptarg,pqsarg) = RLVTT/RCPD*pqsarg*LOG(10.)*                &
    43      &                (2948.964/ptarg**2-5.028/LOG(10.)/ptarg           &
    44      &                +25.21935*2999.924/ptarg**2*EXP(-2999.924/ptarg)  &
    45      &                +29810.16*0.0699382*EXP(-0.0699382*ptarg))
     43                      (2948.964/ptarg**2-5.028/LOG(10.)/ptarg           &
     44                      +25.21935*2999.924/ptarg**2*EXP(-2999.924/ptarg)  &
     45                      +29810.16*0.0699382*EXP(-0.0699382*ptarg))
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOECUMF.h

    r5099 r5128  
    1212
    1313      COMMON /YOECUMF/                                                  &
    14      &                 ENTRPEN,ENTRSCV,ENTRMID,ENTRDD,CMFCTOP,          &
    15      &                 CMFCMAX,CMFCMIN,CMFDEPS,RHCDD,CPRCON,            &
    16      &                 LMFPEN,LMFSCV,LMFMID,LMFDD,LMFDUDV
     14                       ENTRPEN,ENTRSCV,ENTRMID,ENTRDD,CMFCTOP,          &
     15                       CMFCMAX,CMFCMIN,CMFDEPS,RHCDD,CPRCON,            &
     16                       LMFPEN,LMFSCV,LMFMID,LMFDD,LMFDUDV
    1717
    1818
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOEGWD.h

    r5117 r5128  
    2525
    2626      COMMON/YOEGWD/ GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT,        &
    27      &     GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC,         &
    28      &     GWD_RANDO_RUWMAX, gwd_rando_sat,                             &
    29      &     GWD_FRONT_RUWMAX, gwd_front_sat
     27           GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC,         &
     28           GWD_RANDO_RUWMAX, gwd_rando_sat,                             &
     29           GWD_FRONT_RUWMAX, gwd_front_sat
    3030
    3131      save /YOEGWD/
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOETHF.h

    r5099 r5128  
    2222                                  ! If FALSE, then variables set by suphel.F90
    2323      COMMON /YOETHF/R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES,    &
    24      &               RVTMP2, RHOH2O,                                    &
    25      &               R5ALVCP,R5ALSCP,RALVDCP,RALSDCP,                   &
    26      &               RALFDCP,RTWAT,RTBER,RTBERCU,                       &
    27      &               RTICE,RTICECU,RTWAT_RTICE_R,RTWAT_RTICECU_R,RKOOP1,&
    28      &               RKOOP2,                                            &
    29      &               OK_BAD_ECMWF_THERMO
     24                     RVTMP2, RHOH2O,                                    &
     25                     R5ALVCP,R5ALSCP,RALVDCP,RALSDCP,                   &
     26                     RALFDCP,RTWAT,RTBER,RTBERCU,                       &
     27                     RTICE,RTICECU,RTWAT_RTICE_R,RTWAT_RTICECU_R,RKOOP1,&
     28                     RKOOP2,                                            &
     29                     OK_BAD_ECMWF_THERMO
    3030
    3131!$OMP THREADPRIVATE(/YOETHF/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOMCST.h

    r5099 r5128  
    3232
    3333      COMMON/YOMCST/RPI   ,RCLUM ,RHPLA ,RKBOL ,RNAVO                   &
    34      &      ,RDAY  ,REA   ,REPSM ,RSIYEA,RSIDAY,ROMEGA                  &
    35      &      ,R_ecc, R_peri, R_incl                                      &
    36      &      ,RA    ,RG    ,R1SA                                         &
    37      &      ,RSIGMA                                                     &
    38      &      ,R     ,RMD   ,RMV   ,RD    ,RV    ,RCPD                    &
    39      &      ,RMO3  ,RMCO2 ,RMC   ,RMCH4 ,RMN2O ,RMCFC11 ,RMCFC12        &
    40      &      ,RCPV  ,RCVD  ,RCVV  ,RKAPPA,RETV, eps_w                    &
    41      &      ,RCW   ,RCS                                                 &
    42      &      ,RLVTT ,RLSTT ,RLMLT ,RTT   ,RATM                           &
    43      &      ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS            &
    44      &      ,RALPD ,RBETD ,RGAMD
     34            ,RDAY  ,REA   ,REPSM ,RSIYEA,RSIDAY,ROMEGA                  &
     35            ,R_ecc, R_peri, R_incl                                      &
     36            ,RA    ,RG    ,R1SA                                         &
     37            ,RSIGMA                                                     &
     38            ,R     ,RMD   ,RMV   ,RD    ,RV    ,RCPD                    &
     39            ,RMO3  ,RMCO2 ,RMC   ,RMCH4 ,RMN2O ,RMCFC11 ,RMCFC12        &
     40            ,RCPV  ,RCVD  ,RCVV  ,RKAPPA,RETV, eps_w                    &
     41            ,RCW   ,RCS                                                 &
     42            ,RLVTT ,RLSTT ,RLMLT ,RTT   ,RATM                           &
     43            ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS            &
     44            ,RALPD ,RBETD ,RGAMD
    4545!    ------------------------------------------------------------------
    4646!$OMP THREADPRIVATE(/YOMCST/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOMCST2.h

    r5099 r5128  
    66
    77      COMMON/YOMCST2/gammas,    alphas, betas, Fmax, scut,              &
    8      &               qqa1, qqa2, qqa3,                                  &
    9      &               Qcoef1max,Qcoef2max,                               &
    10      &               Supcrit1, Supcrit2,                                &
    11      &               choice,iflag_mix,coef_clos_ls,iflag_mix_adiab
     8                     qqa1, qqa2, qqa3,                                  &
     9                     Qcoef1max,Qcoef2max,                               &
     10                     Supcrit1, Supcrit2,                                &
     11                     choice,iflag_mix,coef_clos_ls,iflag_mix_adiab
    1212!$OMP THREADPRIVATE(/YOMCST2/)
    1313!    --------------------------------------------------------------------
  • LMDZ6/branches/Amaury_dev/libf/phylmd/calcul_REGDYN.h

    r1907 r5128  
    1 c
    2 c $Header$
    3 c
    4 c calculs statistiques distribution nuage ftion du regime dynamique
    5 c
    6 c Ce calcul doit etre fait a partir de valeurs mensuelles ??
    7       CALL histo_o500_pctau(nbregdyn,pct_ocean,o500,fq_isccp,
    8      &histoW,nhistoW)
    9 c
    10 c nhistoWt = somme de toutes les nhistoW
     1!
     2! $Header$
     3!
     4! calculs statistiques distribution nuage ftion du regime dynamique
     5!
     6! Ce calcul doit etre fait a partir de valeurs mensuelles ??
     7      CALL histo_o500_pctau(nbregdyn,pct_ocean,o500,fq_isccp, &
     8     histoW,nhistoW)
     9!
     10! nhistoWt = somme de toutes les nhistoW
    1111      DO nreg=1, nbregdyn
    1212       DO k = 1, kmaxm1
    1313        DO l = 1, lmaxm1
    1414         DO iw = 1, iwmax
    15           nhistoWt(k,l,iw,nreg)=nhistoWt(k,l,iw,nreg)+
    16      &    nhistoW(k,l,iw,nreg)
     15          nhistoWt(k,l,iw,nreg)=nhistoWt(k,l,iw,nreg)+&
     16         nhistoW(k,l,iw,nreg)
    1717         ENDDO
    1818        ENDDO
    1919       ENDDO
    2020      ENDDO
    21 c
    22 cIM 190504 END
     21!
     22!IM 190504 END
  • LMDZ6/branches/Amaury_dev/libf/phylmd/calltherm.F90

    r5119 r5128  
    3333      USE lmdz_thermcell_old, ONLY: thermcell, thermcell_2002, thermcell_eau, calcul_sec, thermcell_sec
    3434      USE lmdz_abort_physic, ONLY: abort_physic
     35
    3536#ifdef ISO
    3637      USE infotrac_phy, ONLY: ntiso
  • LMDZ6/branches/Amaury_dev/libf/phylmd/clesphys.h

    r5099 r5128  
    116116! REAL FIRST
    117117! rajout choix_bulk et nit_bulk kz0 par Olivier Torres
    118      &       co2_ppm, solaire                                           &
    119      &     , RCO2, RCH4, RN2O, RCFC11, RCFC12                           &
    120      &     , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act       &
    121      &     , RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per       &
    122      &     , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt                     &
    123      &     , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per     &
    124      &     , cdmmax,cdhmax,ksta,ksta_ter,f_ri_cd_min                    &
    125      &     , fmagic, pmagic                                             &
    126      &     , f_cdrag_ter,f_cdrag_oce,f_rugoro,z0min,tau_gl              &
    127      &     , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce   &
    128      &     , z0m_seaice,z0h_seaice,z0m_landice,z0h_landice              &
    129      &     , freq_outNMC, freq_calNMC                                   &
    130      &     , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins             &
    131      &     , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS              &
    132      &     , cvl_corr                                                   &
    133      &     , qsol0,albsno0,evap0                                        &
    134      &     , co2_ppm0                                                   &
    135      &     , tau_thermals                                               &
     118             co2_ppm, solaire                                           &
     119           , RCO2, RCH4, RN2O, RCFC11, RCFC12                           &
     120           , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act       &
     121           , RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per       &
     122           , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt                     &
     123           , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per     &
     124           , cdmmax,cdhmax,ksta,ksta_ter,f_ri_cd_min                    &
     125           , fmagic, pmagic                                             &
     126           , f_cdrag_ter,f_cdrag_oce,f_rugoro,z0min,tau_gl              &
     127           , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce   &
     128           , z0m_seaice,z0h_seaice,z0m_landice,z0h_landice              &
     129           , freq_outNMC, freq_calNMC                                   &
     130           , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins             &
     131           , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS              &
     132           , cvl_corr                                                   &
     133           , qsol0,albsno0,evap0                                        &
     134           , co2_ppm0                                                   &
     135           , tau_thermals                                               &
    136136!FC
    137      &     , Cd_frein,zrel_oro_t,zpmm_orodr_t,zpmm_orolf_t,zstd_orodr_t &
    138      &     , ecrit_LES                                                  &
    139      &     , ecrit_ins, ecrit_hf, ecrit_day                             &
    140      &     , ecrit_mth, ecrit_tra, ecrit_reg                            &
     137           , Cd_frein,zrel_oro_t,zpmm_orodr_t,zpmm_orolf_t,zstd_orodr_t &
     138           , ecrit_LES                                                  &
     139           , ecrit_ins, ecrit_hf, ecrit_day                             &
     140           , ecrit_mth, ecrit_tra, ecrit_reg                            &
    141141! THEN INTEGER AND LOGICALS
    142      &     , top_height                                                 &
    143      &     , iflag_cycle_diurne, soil_model, new_oliq                   &
    144      &     , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad                &
    145      &     , iflag_con, nbapp_cv, nbapp_wk                              &
    146      &     , choix_bulk, nit_bulk, kz0                                  &
    147      &     , iflag_ener_conserv                                         &
    148      &     , ok_suntime_rrtm                                            &
    149      &     , overlap                                                    &
    150      &     , ok_kzmin                                                   &
    151      &     , lev_histhf, lev_histday, lev_histmth                       &
    152      &     , lev_histins, lev_histLES, lev_histdayNMC, levout_histNMC   &
    153      &     , ok_histNMC                                                 &
    154      &     , type_run, ok_regdyn, ok_cosp, ok_airs                      &
    155      &     , ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP                     &
    156      &     , ip_ebil_phy                                                &
    157      &     , iflag_gusts ,iflag_z0_oce                                  &
    158      &     , ok_lic_melt, ok_lic_cond, aer_type                         &
    159      &     , iflag_rrtm, ok_strato,ok_hines, ok_qch4                    &
    160      &     , iflag_ice_thermo, ok_ice_sursat                            &
    161      &     , ok_plane_h2o, ok_plane_contrail                            &
    162      &     , ok_gwd_rando, NSW, iflag_albedo                            &
    163      &     , ok_chlorophyll,ok_conserv_q, adjust_tropopause             &
    164      &     , ok_daily_climoz, ok_all_xml, ok_lwoff                      &
    165      &     , iflag_phytrac, ok_new_lscp, ok_bs, ok_rad_bs               &
    166      &     ,  iflag_thermals,nsplit_thermals              &
    167      &     , iflag_physiq, ok_3Deffect, ok_water_mass_fixer
     142           , top_height                                                 &
     143           , iflag_cycle_diurne, soil_model, new_oliq                   &
     144           , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad                &
     145           , iflag_con, nbapp_cv, nbapp_wk                              &
     146           , choix_bulk, nit_bulk, kz0                                  &
     147           , iflag_ener_conserv                                         &
     148           , ok_suntime_rrtm                                            &
     149           , overlap                                                    &
     150           , ok_kzmin                                                   &
     151           , lev_histhf, lev_histday, lev_histmth                       &
     152           , lev_histins, lev_histLES, lev_histdayNMC, levout_histNMC   &
     153           , ok_histNMC                                                 &
     154           , type_run, ok_regdyn, ok_cosp, ok_airs                      &
     155           , ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP                     &
     156           , ip_ebil_phy                                                &
     157           , iflag_gusts ,iflag_z0_oce                                  &
     158           , ok_lic_melt, ok_lic_cond, aer_type                         &
     159           , iflag_rrtm, ok_strato,ok_hines, ok_qch4                    &
     160           , iflag_ice_thermo, ok_ice_sursat                            &
     161           , ok_plane_h2o, ok_plane_contrail                            &
     162           , ok_gwd_rando, NSW, iflag_albedo                            &
     163           , ok_chlorophyll,ok_conserv_q, adjust_tropopause             &
     164           , ok_daily_climoz, ok_all_xml, ok_lwoff                      &
     165           , iflag_phytrac, ok_new_lscp, ok_bs, ok_rad_bs               &
     166           ,  iflag_thermals,nsplit_thermals              &
     167           , iflag_physiq, ok_3Deffect, ok_water_mass_fixer
    168168       save /clesphys/
    169169!$OMP THREADPRIVATE(/clesphys/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/comsoil.h

    r5117 r5128  
    33
    44      common /comsoil/inertie_sol,inertie_sno,inertie_sic,inertie_lic,  &
    5      &                iflag_sic,iflag_inertie
     5                      iflag_sic,iflag_inertie
    66      REAL inertie_sol,inertie_sno,inertie_sic,inertie_lic
    77      INTEGER iflag_sic,iflag_inertie
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/1D_decl_cases.h

    r5117 r5128  
    190190
    191191        common /turb_forcing/                                                   &
    192      &  dtime_frcg,hthturb_gcssold, hqturb_gcssold,Turb_fcg_gcssold
     192        dtime_frcg,hthturb_gcssold, hqturb_gcssold,Turb_fcg_gcssold
    193193!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    194194! Declarations specifiques au cas Arm_cu
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/1D_interp_cases.h

    r5117 r5128  
    99        CALL interp_case_time_std(daytime,day1,annee_ref                                       &
    1010!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    11      &       ,nt_cas,nlev_cas                                                               &
    12      &       ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    13      &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
    14      &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
    15      &       ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
    16      &       ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                                       &
    17      &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
    18      &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
    19      &       ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
     11             ,nt_cas,nlev_cas                                                               &
     12             ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     13             ,u_cas,v_cas,ug_cas,vg_cas                                                     &
     14             ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     15             ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
     16             ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                                       &
     17             ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
     18             ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
     19             ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
    2020
    21      &       ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    22      &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    23      &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
    24      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
    25      &       ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas  &     
    26      &       ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                     &
    27      &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
    28      &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
    29      &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
    30      &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
    31      &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
     21             ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     22             ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
     23             ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     24             ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
     25             ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas  &
     26             ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                     &
     27             ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
     28             ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
     29             ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
     30             ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
     31             ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
    3232! EV tg instead of ts_cur
    3333             tg = ts_prof_cas
     
    4141! vertical interpolation:
    4242      CALL interp2_case_vertical_std(play,plev,nlev_cas,plev_prof_cas                                              &
    43      &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                       &
    44      &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
    45      &         ,ug_prof_cas,vg_prof_cas                                                                   &
    46      &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                       &
    47      &         ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
     43               ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                       &
     44               ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
     45               ,ug_prof_cas,vg_prof_cas                                                                   &
     46               ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                       &
     47               ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
    4848
    49      &         ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
    50      &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
    51      &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
    52      &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
     49               ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
     50               ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
     51               ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
     52               ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
    5353
    54      &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
    55      &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
    56      &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
    57      &         ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas   &     
    58      &         ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
    59      &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
    60      &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
    61      &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
     54               ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
     55               ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
     56               ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
     57               ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas   &
     58               ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
     59               ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
     60               ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
     61               ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
    6262
    6363
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/1D_read_forc_cases.h

    r5117 r5128  
    2222        CALL interp_case_time_std(daytime,day1,annee_ref                                       &
    2323!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    24      &       ,nt_cas,nlev_cas                                                               &
    25      &       ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    26      &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
    27      &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
    28      &       ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
    29      &       ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                               &
    30      &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
    31      &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
    32      &       ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
     24             ,nt_cas,nlev_cas                                                               &
     25             ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     26             ,u_cas,v_cas,ug_cas,vg_cas                                                     &
     27             ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     28             ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
     29             ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                               &
     30             ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
     31             ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
     32             ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
    3333
    34      &       ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    35      &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    36      &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
    37      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
    38      &       ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
    39      &       ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                    &
    40      &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
    41      &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
    42      &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
    43      &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
    44      &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
     34             ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     35             ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
     36             ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     37             ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
     38             ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
     39             ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                    &
     40             ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
     41             ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
     42             ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
     43             ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
     44             ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
    4545
    4646      do l = 1, nlev_cas
     
    5151!      WRITE(*,*)'avant interp vert', t_prof
    5252      CALL interp2_case_vertical_std(play,plev,nlev_cas,plev_prof_cas                                              &
    53      &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                          &
    54      &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
    55      &         ,ug_prof_cas,vg_prof_cas                                                                   &
    56      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                         &
    57      &       ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas       &
    58      &         ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
    59      &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
    60      &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
    61      &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
     53               ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                          &
     54               ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
     55               ,ug_prof_cas,vg_prof_cas                                                                   &
     56             ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                         &
     57             ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas       &
     58               ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
     59               ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
     60               ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
     61               ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
    6262
    63      &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
    64      &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
    65      &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
    66      &         ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas        &
    67      &         ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
    68      &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
    69      &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
    70      &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
     63               ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
     64               ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
     65               ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
     66               ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas        &
     67               ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
     68               ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
     69               ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
     70               ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
    7171
    7272
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/compar1d.h

    r5117 r5128  
    4646      real    :: p_nudging_u, p_nudging_v, p_nudging_w, p_nudging_t, p_nudging_qv
    4747      common/com_par1d/                                                 &
    48      & nat_surf,tsurf,beta_surf,rugos,rugosh,                           &
    49      & xqsol,qsurf,psurf,zsurf,albedo,time,time_ini,xlat,xlon,airefi,   &
    50      & wtsurf,wqsurf,restart_runoff,xagesno,qsolinp,zpicinp,            &
    51      & forcing_type,tend_u,tend_v,tend_w,tend_t,tend_q,tend_rayo,       &
    52      & nudge_u,nudge_v,nudge_w,nudge_t,nudge_q,                         &
    53      & iflag_nudge,snowmass,                                            &
    54      & restart,ok_old_disvert,                                          &
    55      & tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh,   &
    56      & trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar,  &
    57      & nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w,          &
    58      & p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w
     48       nat_surf,tsurf,beta_surf,rugos,rugosh,                           &
     49       xqsol,qsurf,psurf,zsurf,albedo,time,time_ini,xlat,xlon,airefi,   &
     50       wtsurf,wqsurf,restart_runoff,xagesno,qsolinp,zpicinp,            &
     51       forcing_type,tend_u,tend_v,tend_w,tend_t,tend_q,tend_rayo,       &
     52       nudge_u,nudge_v,nudge_w,nudge_t,nudge_q,                         &
     53       iflag_nudge,snowmass,                                            &
     54       restart,ok_old_disvert,                                          &
     55       tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh,   &
     56       trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar,  &
     57       nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w,          &
     58       p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w
    5959
    6060!$OMP THREADPRIVATE(/com_par1d/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_1dutils.f90

    r5119 r5128  
    11MODULE lmdz_1dutils
    22  IMPLICIT NONE; PRIVATE
    3   PUBLIC fq_sat, conf_unicol, dyn1deta0, dyn1dredem, gr_fi_dyn, abort_gcm, gr_dyn_fi, &
     3  PUBLIC fq_sat, conf_unicol, dyn1deta0, dyn1dredem, &
    44          disvert0, advect_vert, advect_va, lstendh, nudge_rht_init, nudge_uv_init, &
    55          nudge_rht, nudge_uv, interp2_case_vertical
     
    981981
    982982
    983   SUBROUTINE gr_fi_dyn(nfield, ngrid, im, jm, pfi, pdyn)
    984     USE lmdz_ssum_scopy, ONLY: scopy
    985 
    986     IMPLICIT NONE
    987     !=======================================================================
    988     !   passage d'un champ de la grille scalaire a la grille physique
    989     !=======================================================================
    990 
    991     !-----------------------------------------------------------------------
    992     !   declarations:
    993     !   -------------
    994 
    995     INTEGER im, jm, ngrid, nfield
    996     REAL pdyn(im, jm, nfield)
    997     REAL pfi(ngrid, nfield)
    998 
    999     INTEGER i, j, ifield, ig
    1000 
    1001     !-----------------------------------------------------------------------
    1002     !   calcul:
    1003     !   -------
    1004 
    1005     DO ifield = 1, nfield
    1006       !   traitement des poles
    1007       DO i = 1, im
    1008         pdyn(i, 1, ifield) = pfi(1, ifield)
    1009         pdyn(i, jm, ifield) = pfi(ngrid, ifield)
    1010       ENDDO
    1011 
    1012       !   traitement des point normaux
    1013       DO j = 2, jm - 1
    1014         ig = 2 + (j - 2) * (im - 1)
    1015         CALL SCOPY(im - 1, pfi(ig, ifield), 1, pdyn(1, j, ifield), 1)
    1016         pdyn(im, j, ifield) = pdyn(1, j, ifield)
    1017       ENDDO
    1018     ENDDO
    1019 
    1020   END SUBROUTINE gr_fi_dyn
    1021 
    1022 
    1023   SUBROUTINE abort_gcm(modname, message, ierr)
    1024     USE IOIPSL
    1025 
    1026     ! Stops the simulation cleanly, closing files and printing various
    1027     ! comments
    1028 
    1029     !  Input: modname = name of calling program
    1030     !         message = stuff to print
    1031     !         ierr    = severity of situation ( = 0 normal )
    1032 
    1033     CHARACTER(LEN = *) modname
    1034     INTEGER ierr
    1035     CHARACTER(LEN = *) message
    1036 
    1037     WRITE(*, *) 'in abort_gcm'
    1038     CALL histclo
    1039     !     CALL histclo(2)
    1040     !     CALL histclo(3)
    1041     !     CALL histclo(4)
    1042     !     CALL histclo(5)
    1043     WRITE(*, *) 'out of histclo'
    1044     WRITE(*, *) 'Stopping in ', modname
    1045     WRITE(*, *) 'Reason = ', message
    1046     CALL getin_dump
    1047 
    1048     IF (ierr == 0) THEN
    1049       WRITE(*, *) 'Everything is cool'
    1050     else
    1051       WRITE(*, *) 'Houston, we have a problem ', ierr
    1052     endif
    1053     STOP
    1054   END SUBROUTINE abort_gcm
    1055 
    1056 
    1057   SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi)
    1058     IMPLICIT NONE
    1059     !=======================================================================
    1060     !   passage d'un champ de la grille scalaire a la grille physique
    1061     !=======================================================================
    1062 
    1063     !-----------------------------------------------------------------------
    1064     !   declarations:
    1065     !   -------------
    1066 
    1067     INTEGER im, jm, ngrid, nfield
    1068     REAL pdyn(im, jm, nfield)
    1069     REAL pfi(ngrid, nfield)
    1070 
    1071     INTEGER j, ifield, ig
    1072 
    1073     !-----------------------------------------------------------------------
    1074     !   calcul:
    1075     !   -------
    1076 
    1077     IF(ngrid/=2 + (jm - 2) * (im - 1).AND.ngrid/=1)                          &
    1078             &    STOP 'probleme de dim'
    1079     !   traitement des poles
    1080     CALL SCOPY(nfield, pdyn, im * jm, pfi, ngrid)
    1081     CALL SCOPY(nfield, pdyn(1, jm, 1), im * jm, pfi(ngrid, 1), ngrid)
    1082 
    1083     !   traitement des point normaux
    1084     DO ifield = 1, nfield
    1085       DO j = 2, jm - 1
    1086         ig = 2 + (j - 2) * (im - 1)
    1087         CALL SCOPY(im - 1, pdyn(1, j, ifield), 1, pfi(ig, ifield), 1)
    1088       ENDDO
    1089     ENDDO
    1090   END SUBROUTINE gr_dyn_fi
    1091 
    1092 
    1093983  SUBROUTINE disvert0(pa, preff, ap, bp, dpres, presnivs, nivsigs, nivsig)
    1094984
     
    18521742
    18531743END MODULE lmdz_1dutils
     1744
     1745SUBROUTINE gr_fi_dyn(nfield, ngrid, im, jm, pfi, pdyn)
     1746  USE lmdz_ssum_scopy, ONLY: scopy
     1747
     1748  IMPLICIT NONE
     1749  !=======================================================================
     1750  !   passage d'un champ de la grille scalaire a la grille physique
     1751  !=======================================================================
     1752
     1753  !-----------------------------------------------------------------------
     1754  !   declarations:
     1755  !   -------------
     1756
     1757  INTEGER im, jm, ngrid, nfield
     1758  REAL pdyn(im, jm, nfield)
     1759  REAL pfi(ngrid, nfield)
     1760
     1761  INTEGER i, j, ifield, ig
     1762
     1763  !-----------------------------------------------------------------------
     1764  !   calcul:
     1765  !   -------
     1766
     1767  DO ifield = 1, nfield
     1768    !   traitement des poles
     1769    DO i = 1, im
     1770      pdyn(i, 1, ifield) = pfi(1, ifield)
     1771      pdyn(i, jm, ifield) = pfi(ngrid, ifield)
     1772    ENDDO
     1773
     1774    !   traitement des point normaux
     1775    DO j = 2, jm - 1
     1776      ig = 2 + (j - 2) * (im - 1)
     1777      CALL SCOPY(im - 1, pfi(ig, ifield), 1, pdyn(1, j, ifield), 1)
     1778      pdyn(im, j, ifield) = pdyn(1, j, ifield)
     1779    ENDDO
     1780  ENDDO
     1781
     1782END SUBROUTINE gr_fi_dyn
     1783
     1784SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi)
     1785  USE lmdz_ssum_scopy, ONLY: scopy
     1786
     1787  IMPLICIT NONE
     1788  !=======================================================================
     1789  !   passage d'un champ de la grille scalaire a la grille physique
     1790  !=======================================================================
     1791
     1792  !-----------------------------------------------------------------------
     1793  !   declarations:
     1794  !   -------------
     1795
     1796  INTEGER im, jm, ngrid, nfield
     1797  REAL pdyn(im, jm, nfield)
     1798  REAL pfi(ngrid, nfield)
     1799
     1800  INTEGER j, ifield, ig
     1801
     1802  !-----------------------------------------------------------------------
     1803  !   calcul:
     1804  !   -------
     1805
     1806  IF(ngrid/=2 + (jm - 2) * (im - 1).AND.ngrid/=1)                          &
     1807          &    STOP 'probleme de dim'
     1808  !   traitement des poles
     1809  CALL SCOPY(nfield, pdyn, im * jm, pfi, ngrid)
     1810  CALL SCOPY(nfield, pdyn(1, jm, 1), im * jm, pfi(ngrid, 1), ngrid)
     1811
     1812  !   traitement des point normaux
     1813  DO ifield = 1, nfield
     1814    DO j = 2, jm - 1
     1815      ig = 2 + (j - 2) * (im - 1)
     1816      CALL SCOPY(im - 1, pdyn(1, j, ifield), 1, pfi(ig, ifield), 1)
     1817    ENDDO
     1818  ENDDO
     1819END SUBROUTINE gr_dyn_fi
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_old_1dconv.f90

    r5119 r5128  
    11MODULE lmdz_old_1dconv
    2   IMPLICIT NONE; PRIVATE
    3   PUBLIC get_uvd, copie
     2   PRIVATE  ! -- We'd love to put IMPLICIT NONE;  here...
     3  PUBLIC get_uvd, copie, get_uvd2, rdgrads, spaces
    44CONTAINS
    55
     
    6767    INTEGER itap
    6868    REAL dtime
    69     REAL ht(100)
    70     REAL hq(100)
    71     REAL hu(100)
    72     REAL hv(100)
    73     REAL hw(100)
    74     REAL hthturb(100)
    75     REAL hqturb(100)
     69    REAL ht(:)
     70    REAL hq(:)
     71    REAL hu(:)
     72    REAL hv(:)
     73    REAL hw(:)
     74    REAL hthturb(:)
     75    REAL hqturb(:)
    7676    REAL Ts, Ts_subr
    7777    LOGICAL imp_fcg
     
    142142    ! variables destinees a la lecture du pas de temps du fichier de donnees
    143143    !---------------------------------------------------------------------
    144     character*80 aaa, atemps, spaces, apasmax
     144    character*80 aaa, atemps, apasmax
    145145    INTEGER nch, imn, ipa
    146     !---------------------------------------------------------------------
    147     !  procedures appelees
    148     external rdgrads    !lire en iterant dans forcing.dat
    149146    !---------------------------------------------------------------------
    150147    PRINT*, 'le pas itap est:', itap
     
    583580
    584581    character*4 a
    585     character*80 aaa, anblvl, spaces
     582    character*80 aaa, anblvl
    586583    INTEGER nch
    587584
     
    812809    ENDIF
    813810  END
    814   CHARACTER*(*) FUNCTION SPACES(STR, NSPACE)
     811  CHARACTER*(80) FUNCTION SPACES(STR, NSPACE)
    815812
    816813    ! CERN PROGLIB# M433    SPACES          .VERSION KERNFOR  4.14  860211
     
    821818    !-    replaced by NSPACE blanks inside the string STR
    822819
    823     CHARACTER*(*) STR
    824     INTEGER nspace
     820    CHARACTER*(80) STR
     821    INTEGER nspace, IBLANK, ISPACE, INONBL, LENSPA
    825822
    826823    LENSPA = LEN(SPACES)
     
    854851
    855852    CHARACTER*(*) STR, SSTR
    856     INTEGER I
     853    INTEGER I, LENS, LENSS
    857854
    858855    LENS = LEN(STR)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_old_lmdz1d.F90

    r5117 r5128  
    22
    33MODULE lmdz_old_lmdz1d
    4   IMPLICIT NONE; PRIVATE
     4  USE lmdz_old_1dconv, ONLY: copie, get_uvd2, get_uvd, rdgrads, spaces
     5  USE lmdz_1dutils, ONLY: interp2_case_vertical, nudge_uv, nudge_rht, lstendh, nudge_uv_init, &
     6          nudge_rht_init, disvert0
     7   PRIVATE  ! -- We'd love to put IMPLICIT NONE;  here...
    58  PUBLIC old_lmdz1d
    69CONTAINS
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_scm.F90

    r5117 r5128  
    11MODULE lmdz_scm
    2   ; PRIVATE
     2  PRIVATE  ! -- We'd love to put IMPLICIT NONE;  here...
    33  PUBLIC scm
    44CONTAINS
     
    4141            itau_dyn, itau_phy, start_time, year_len
    4242    USE phys_cal_mod, ONLY: year_len_phys_cal_mod => year_len
    43     USE lmdz_1dutils, ONLY: fq_sat, conf_unicol, dyn1deta0, dyn1dredem
     43    USE lmdz_1dutils, ONLY: fq_sat, conf_unicol, dyn1deta0, dyn1dredem, disvert0
     44
    4445    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_OUTPUTPHYSSCM
    45     END SUBROUTINE scm
    46    
     46
    4747    INCLUDE "dimensions.h"
    4848    INCLUDE "YOMCST.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/replay1d.F90

    r5119 r5128  
    8888
    8989!=======================================================================
    90 SUBROUTINE abort_gcm(modname, message, ierr)
    91   USE IOIPSL
    92   ! Stops the simulation cleanly, closing files and printing various
    93   ! comments
    94   !=======================================================================
    95 
    96   !  Input: modname = name of calling program
    97   !         message = stuff to print
    98   !         ierr    = severity of situation ( = 0 normal )
    99 
    100   CHARACTER(LEN = *) modname
    101   INTEGER ierr
    102   CHARACTER(LEN = *) message
    103 
    104   WRITE(*, *) 'in abort_gcm'
    105   CALL histclo
    106   WRITE(*, *) 'out of histclo'
    107   WRITE(*, *) 'Stopping in ', modname
    108   WRITE(*, *) 'Reason = ', message
    109   CALL getin_dump
    110 
    111   IF (ierr == 0) THEN
    112     WRITE(*, *) 'Everything is cool'
    113   else
    114     WRITE(*, *) 'Houston, we have a problem ', ierr
    115   endif
    116   STOP
    117 END
    118 
    119 !=======================================================================
    12090SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi)
    12191  USE lmdz_ssum_scopy, ONLY: scopy
  • LMDZ6/branches/Amaury_dev/libf/phylmd/fcg_gcssold.h

    r5117 r5128  
    77
    88      common /fcg_gcssold/imp_fcg_gcssold,ts_fcg_gcssold,Tp_fcg_gcssold,        &
    9      & Tp_ini_gcssold,                                                          &
    10      & xTurb_fcg_gcssold
     9       Tp_ini_gcssold,                                                          &
     10       xTurb_fcg_gcssold
    1111
    1212!$OMP THREADPRIVATE(/fcg_gcssold/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/fonte_neige_mod.F90

    r5117 r5128  
    1010  USE dimphy, ONLY: klon
    1111  USE indice_sol_mod
     12
    1213
    1314  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/infotrac_phy.F90

    r5118 r5128  
    135135    USE lmdz_abort_physic, ONLY: abort_physic
    136136    USE lmdz_iniprint, ONLY: lunout, prt_level
     137
     138
    137139    IMPLICIT NONE
    138140    !==============================================================================================================================
  • LMDZ6/branches/Amaury_dev/libf/phylmd/ini_histREGDYN.h

    r5117 r5128  
    4949c TROP
    5050         CALL histdef(nid_regdyn, "hw1", "Tropics Histogram ", "%",
    51      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    52      &                "ave(X)", zstophy,zout)
     51                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     52                      "ave(X)", zstophy,zout)
    5353
    5454         CALL histdef(nid_regdyn, "nh1", "Nb of pixels Tropics Histo",
    55      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    56      &                32,"ave(X)", zstophy,zout)
     55                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     56                      32,"ave(X)", zstophy,zout)
    5757c
    5858
    5959         CALL histdef(nid_regdyn, "nht1",
    60      &                "Total Nb pixels Tropics Histo",
    61      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    62      &                32,"ave(X)", zstophy,zout)
     60                      "Total Nb pixels Tropics Histo",
     61                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     62                      32,"ave(X)", zstophy,zout)
    6363c
    6464c PAN
    6565         CALL histdef(nid_regdyn, "hw2", "North Pacific Histogram", "%",
    66      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    67      &                "ave(X)", zstophy,zout)
     66                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     67                      "ave(X)", zstophy,zout)
    6868
    6969         CALL histdef(nid_regdyn, "nh2", "Nb of pixels North Pacific",
    70      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    71      &                32,"ave(X)", zstophy,zout)
     70                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     71                      32,"ave(X)", zstophy,zout)
    7272c
    7373
    7474         CALL histdef(nid_regdyn, "nht2",
    75      &                "Total Nb pixels North Pacific Histo",
    76      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    77      &                32,"ave(X)", zstophy,zout)
     75                      "Total Nb pixels North Pacific Histo",
     76                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     77                      32,"ave(X)", zstophy,zout)
    7878c CAL
    7979         CALL histdef(nid_regdyn, "hw3", "California Histogram", "%",
    80      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    81      &                "ave(X)", zstophy,zout)
     80                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     81                      "ave(X)", zstophy,zout)
    8282
    8383         CALL histdef(nid_regdyn, "nh3",
    84      &                "Nb of pixels California Histo",
    85      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    86      &                32,"ave(X)", zstophy,zout)
     84                      "Nb of pixels California Histo",
     85                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     86                      32,"ave(X)", zstophy,zout)
    8787c
    8888
    8989         CALL histdef(nid_regdyn, "nht3",
    90      &                "Total Nb pixels California Histo",
    91      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    92      &                32,"ave(X)", zstophy,zout)
     90                      "Total Nb pixels California Histo",
     91                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     92                      32,"ave(X)", zstophy,zout)
    9393c HAW
    9494         CALL histdef(nid_regdyn, "hw4", "Hawai Histogram", "%",
    95      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    96      &                "ave(X)", zstophy,zout)
     95                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     96                      "ave(X)", zstophy,zout)
    9797
    9898         CALL histdef(nid_regdyn, "nh4", "Nb of pixels Hawai Histo",
    99      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    100      &                32,"ave(X)", zstophy,zout)
     99                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     100                      32,"ave(X)", zstophy,zout)
    101101c
    102102
    103103         CALL histdef(nid_regdyn, "nht4",
    104      &                "Total Nb pixels Hawai Histo",
    105      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    106      &                32,"ave(X)", zstophy,zout)
     104                      "Total Nb pixels Hawai Histo",
     105                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     106                      32,"ave(X)", zstophy,zout)
    107107c WAP
    108108         CALL histdef(nid_regdyn, "hw5", "Warm Pool Histogram", "%",
    109      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    110      &                "ave(X)", zstophy,zout)
     109                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     110                      "ave(X)", zstophy,zout)
    111111
    112112         CALL histdef(nid_regdyn, "nh5", "Nb of pixels Warm Pool Histo",
    113      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    114      &                32,"ave(X)", zstophy,zout)
     113                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     114                      32,"ave(X)", zstophy,zout)
    115115c
    116116
    117117         CALL histdef(nid_regdyn, "nht5",
    118      &                "Total Nb pixels Warm Pool Histo",
    119      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    120      &                32,"ave(X)", zstophy,zout)
     118                      "Total Nb pixels Warm Pool Histo",
     119                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     120                      32,"ave(X)", zstophy,zout)
    121121c
    122122         CALL histend(nid_regdyn)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_qso.f90

    r5117 r5128  
    533533      ist    =   isotSV(ikl)                   ! Soil Type
    534534      SatRat =  (eta_SV(ikl,isl)-etadSV(ist)) & ! OverSaturation Rate
    535             *ro_Wat         *dzAvSV(isl) & !
    536             *LSdzsv(ikl) & !
    537             /dt__SV        !
    538       SoRnOF(ikl)     =          SoRnOF(ikl) & !
    539             + max(zero,SatRat)       !
    540       RuofSV(ikl,3)   = RuofSV(ikl,3) + &
    541             + max(zero,SatRat)
     535            *ro_Wat         *dzAvSV(isl) &
     536            *LSdzsv(ikl) &
     537            /dt__SV
     538      SoRnOF(ikl)     = SoRnOF(ikl) + max(zero,SatRat)
     539      RuofSV(ikl,3)   = RuofSV(ikl,3) + max(zero,SatRat)
    542540      eta_SV(ikl,isl) = max(epsi & !
    543541  ! #ED.                         +etamSV(isotSV(ikl))!
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/surf_inlandsis_mod.F90

    r5117 r5128  
    783783        min_period = 1800. ! en secondes
    784784        dalph_soil = 2.    ! rapport entre les epaisseurs de 2 couches succ.
    785         !$OMP MASTER
     785        !!! !$OMP MASTER
    786786        !     IF (is_mpi_root) THEN
    787787        !        OPEN(99,file='soil.def',status='old',form='formatted',iostat=ierr)
     
    795795        !        END IF
    796796        !     ENDIF
    797         !$OMP END MASTER
     797        !!! !$OMP END MASTER
    798798        !     CALL bcast(min_period)
    799799        !     CALL bcast(dalph_soil)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_simu_airs.f90

    r5127 r5128  
    1 module m_simu_airs
     1module lmdz_simu_airs
    22
    33  USE lmdz_print_control, ONLY: prt_level, lunout
     
    10971097  END SUBROUTINE  test_bornes
    10981098
    1099 END MODULE m_simu_airs
    1100 
    1101 
    1102 SUBROUTINE simu_airs &
    1103         (itap, rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, rad_airs, &
    1104         geop_airs, pplay_airs, paprs_airs, &
    1105         map_prop_hc, map_prop_hist, &
    1106         map_emis_hc, map_iwp_hc, map_deltaz_hc, map_pcld_hc, map_tcld_hc, &
    1107         map_emis_Cb, map_pcld_Cb, map_tcld_Cb, &
    1108         map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi, &
    1109         map_emis_Anv, map_pcld_Anv, map_tcld_Anv, &
    1110         map_emis_hist, map_iwp_hist, map_deltaz_hist, map_rad_hist, &
    1111         map_ntot, map_hc, map_hist, &
    1112         map_Cb, map_ThCi, map_Anv, alt_tropo)
    1113 
    1114   USE dimphy
    1115   USE m_simu_airs
    1116 
    1117   IMPLICIT NONE
    1118 
    1119   include "YOMCST.h"
    1120 
    1121   INTEGER, INTENT(IN) :: itap
    1122 
    1123   REAL, DIMENSION(klon, klev), INTENT(IN) :: &
    1124           rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, &
    1125           rad_airs, geop_airs, pplay_airs, paprs_airs
    1126 
    1127   REAL, DIMENSION(klon, klev) :: &
    1128           rhodz_airs, rho_airs, iwcon_airs
    1129 
    1130   REAL, DIMENSION(klon), INTENT(OUT) :: alt_tropo
    1131 
    1132   REAL, DIMENSION(klev) :: rneb_1D, temp_1D, &
    1133           emis_1D, rad_1D, pres_1D, alt_1D, &
    1134           rhodz_1D, dz_1D, iwcon_1D
    1135 
    1136   INTEGER :: i, j
    1137 
    1138   REAL :: cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
    1139   REAL :: cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh
    1140   REAL :: pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
    1141   REAL :: em_hist_mesh, iwp_hist_mesh
    1142   REAL :: deltaz_hc_mesh, deltaz_hist_mesh, rad_hist_mesh
    1143   REAL :: pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh
    1144   REAL :: pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh
    1145   REAL :: pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh
    1146 
    1147   REAL, DIMENSION(klon), INTENT(OUT) :: map_prop_hc, map_prop_hist
    1148   REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_hc, map_iwp_hc
    1149   REAL, DIMENSION(klon), INTENT(OUT) :: map_deltaz_hc, map_pcld_hc
    1150   REAL, DIMENSION(klon), INTENT(OUT) :: map_tcld_hc
    1151   REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_Cb, map_pcld_Cb, map_tcld_Cb
    1152   REAL, DIMENSION(klon), INTENT(OUT) :: &
    1153           map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi
    1154   REAL, DIMENSION(klon), INTENT(OUT) :: &
    1155           map_emis_Anv, map_pcld_Anv, map_tcld_Anv
    1156   REAL, DIMENSION(klon), INTENT(OUT) :: &
    1157           map_emis_hist, map_iwp_hist, map_deltaz_hist, &
    1158           map_rad_hist
    1159   REAL, DIMENSION(klon), INTENT(OUT) :: map_ntot, map_hc, map_hist
    1160   REAL, DIMENSION(klon), INTENT(OUT) :: map_Cb, map_ThCi, map_Anv
    1161 
    1162   WRITE(*, *) 'simu_airs'
    1163   WRITE(*, *) 'itap, klon, klev', itap, klon, klev
    1164   WRITE(*, *) 'RG, RD =', RG, RD
    1165 
    1166 
    1167   ! Definition des variables 1D
    1168 
    1169   do i = 1, klon
    1170     do j = 1, klev - 1
    1171       rhodz_airs(i, j) = &
    1172               (paprs_airs(i, j) - paprs_airs(i, j + 1)) / RG
    1173     enddo
    1174     rhodz_airs(i, klev) = 0.
    1175   enddo
    1176 
    1177   do i = 1, klon
    1178     do j = 1, klev
    1179       rho_airs(i, j) = &
    1180               pplay_airs(i, j) / (temp_airs(i, j) * RD)
    1181 
    1182       IF (rneb_airs(i, j) > 0.001) THEN
    1183         iwcon_airs(i, j) = iwcon0_airs(i, j) / rneb_airs(i, j)
    1184       else
    1185         iwcon_airs(i, j) = 0.
    1186       endif
    1187 
    1188     enddo
    1189   enddo
    1190 
    1191   !=============================================================================
    1192 
    1193   do i = 1, klon  ! boucle sur les points de grille
     1099
     1100  SUBROUTINE simu_airs &
     1101          (itap, rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, rad_airs, &
     1102          geop_airs, pplay_airs, paprs_airs, &
     1103          map_prop_hc, map_prop_hist, &
     1104          map_emis_hc, map_iwp_hc, map_deltaz_hc, map_pcld_hc, map_tcld_hc, &
     1105          map_emis_Cb, map_pcld_Cb, map_tcld_Cb, &
     1106          map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi, &
     1107          map_emis_Anv, map_pcld_Anv, map_tcld_Anv, &
     1108          map_emis_hist, map_iwp_hist, map_deltaz_hist, map_rad_hist, &
     1109          map_ntot, map_hc, map_hist, &
     1110          map_Cb, map_ThCi, map_Anv, alt_tropo)
     1111
     1112    USE dimphy
     1113
     1114    IMPLICIT NONE
     1115
     1116    include "YOMCST.h"
     1117
     1118    INTEGER, INTENT(IN) :: itap
     1119
     1120    REAL, DIMENSION(klon, klev), INTENT(IN) :: &
     1121            rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, &
     1122            rad_airs, geop_airs, pplay_airs, paprs_airs
     1123
     1124    REAL, DIMENSION(klon, klev) :: &
     1125            rhodz_airs, rho_airs, iwcon_airs
     1126
     1127    REAL, DIMENSION(klon), INTENT(OUT) :: alt_tropo
     1128
     1129    REAL, DIMENSION(klev) :: rneb_1D, temp_1D, &
     1130            emis_1D, rad_1D, pres_1D, alt_1D, &
     1131            rhodz_1D, dz_1D, iwcon_1D
     1132
     1133    INTEGER :: i, j
     1134
     1135    REAL :: cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
     1136    REAL :: cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh
     1137    REAL :: pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
     1138    REAL :: em_hist_mesh, iwp_hist_mesh
     1139    REAL :: deltaz_hc_mesh, deltaz_hist_mesh, rad_hist_mesh
     1140    REAL :: pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh
     1141    REAL :: pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh
     1142    REAL :: pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh
     1143
     1144    REAL, DIMENSION(klon), INTENT(OUT) :: map_prop_hc, map_prop_hist
     1145    REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_hc, map_iwp_hc
     1146    REAL, DIMENSION(klon), INTENT(OUT) :: map_deltaz_hc, map_pcld_hc
     1147    REAL, DIMENSION(klon), INTENT(OUT) :: map_tcld_hc
     1148    REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_Cb, map_pcld_Cb, map_tcld_Cb
     1149    REAL, DIMENSION(klon), INTENT(OUT) :: &
     1150            map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi
     1151    REAL, DIMENSION(klon), INTENT(OUT) :: &
     1152            map_emis_Anv, map_pcld_Anv, map_tcld_Anv
     1153    REAL, DIMENSION(klon), INTENT(OUT) :: &
     1154            map_emis_hist, map_iwp_hist, map_deltaz_hist, &
     1155            map_rad_hist
     1156    REAL, DIMENSION(klon), INTENT(OUT) :: map_ntot, map_hc, map_hist
     1157    REAL, DIMENSION(klon), INTENT(OUT) :: map_Cb, map_ThCi, map_Anv
     1158
     1159    WRITE(*, *) 'simu_airs'
     1160    WRITE(*, *) 'itap, klon, klev', itap, klon, klev
     1161    WRITE(*, *) 'RG, RD =', RG, RD
     1162
     1163
     1164    ! Definition des variables 1D
     1165
     1166    do i = 1, klon
     1167      do j = 1, klev - 1
     1168        rhodz_airs(i, j) = &
     1169                (paprs_airs(i, j) - paprs_airs(i, j + 1)) / RG
     1170      enddo
     1171      rhodz_airs(i, klev) = 0.
     1172    enddo
     1173
     1174    do i = 1, klon
     1175      do j = 1, klev
     1176        rho_airs(i, j) = &
     1177                pplay_airs(i, j) / (temp_airs(i, j) * RD)
     1178
     1179        IF (rneb_airs(i, j) > 0.001) THEN
     1180          iwcon_airs(i, j) = iwcon0_airs(i, j) / rneb_airs(i, j)
     1181        else
     1182          iwcon_airs(i, j) = 0.
     1183        endif
     1184
     1185      enddo
     1186    enddo
    11941187
    11951188    !=============================================================================
    11961189
    1197     do j = 1, klev
    1198 
    1199       rneb_1D(j) = rneb_airs(i, j)
    1200       temp_1D(j) = temp_airs(i, j)
    1201       emis_1D(j) = cldemi_airs(i, j)
    1202       iwcon_1D(j) = iwcon_airs(i, j)
    1203       rad_1D(j) = rad_airs(i, j)
    1204       pres_1D(j) = pplay_airs(i, j)
    1205       alt_1D(j) = geop_airs(i, j) / RG
    1206       rhodz_1D(j) = rhodz_airs(i, j)
    1207       dz_1D(j) = rhodz_airs(i, j) / rho_airs(i, j)
    1208 
    1209     enddo
    1210 
    1211     alt_tropo(i) = &
    1212             search_tropopause(pres_1D / 100., temp_1D, alt_1D, klev)
    1213 
    1214 
    1215     ! Appel du ss-programme sim_mesh
    1216 
    1217     !        if (itap .EQ. 1 ) THEN
    1218     CALL sim_mesh(rneb_1D, temp_1D, emis_1D, iwcon_1D, rad_1D, &
    1219             pres_1D, dz_1D, rhodz_1D, &
    1220             cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, &
    1221             pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh, &
    1222             deltaz_hc_mesh, &
    1223             cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
    1224             pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
    1225             pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
    1226             pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
    1227             em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
    1228 
    1229     WRITE(*, *) '===================================='
    1230     WRITE(*, *) 'itap, i:', itap, i
    1231     WRITE(*, *) 'cc_tot, cc_hc, cc_hist, pcld_hc, tcld_hc, em_hc, &
    1232             iwp_hc, em_hist, iwp_hist ='
    1233     WRITE(*, *) cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
    1234     WRITE(*, *) pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
    1235     WRITE(*, *)  em_hist_mesh, iwp_hist_mesh
    1236 
    1237     !        endif
    1238 
    1239     ! Definition des variables a ecrire dans le fichier de sortie
    1240 
    1241     CALL normal2_undef(map_prop_hc(i), cc_hc_mesh, &
    1242             cc_tot_mesh)
    1243     CALL normal2_undef(map_prop_hist(i), cc_hist_mesh, &
    1244             cc_tot_mesh)
    1245 
    1246     map_emis_hc(i) = em_hc_mesh
    1247     map_iwp_hc(i) = iwp_hc_mesh
    1248     map_deltaz_hc(i) = deltaz_hc_mesh
    1249     map_pcld_hc(i) = pcld_hc_mesh
    1250     map_tcld_hc(i) = tcld_hc_mesh
    1251 
    1252     map_emis_Cb(i) = em_Cb_mesh
    1253     map_pcld_Cb(i) = pcld_Cb_mesh
    1254     map_tcld_Cb(i) = tcld_Cb_mesh
    1255 
    1256     map_emis_ThCi(i) = em_ThCi_mesh
    1257     map_pcld_ThCi(i) = pcld_ThCi_mesh
    1258     map_tcld_ThCi(i) = tcld_ThCi_mesh
    1259 
    1260     map_emis_Anv(i) = em_Anv_mesh
    1261     map_pcld_Anv(i) = pcld_Anv_mesh
    1262     map_tcld_Anv(i) = tcld_Anv_mesh
    1263 
    1264     map_emis_hist(i) = em_hist_mesh
    1265     map_iwp_hist(i) = iwp_hist_mesh
    1266     map_deltaz_hist(i) = deltaz_hist_mesh
    1267     map_rad_hist(i) = rad_hist_mesh
    1268 
    1269     map_ntot(i) = cc_tot_mesh
    1270     map_hc(i) = cc_hc_mesh
    1271     map_hist(i) = cc_hist_mesh
    1272 
    1273     map_Cb(i) = cc_Cb_mesh
    1274     map_ThCi(i) = cc_ThCi_mesh
    1275     map_Anv(i) = cc_Anv_mesh
    1276 
    1277   enddo         ! fin boucle sur les points de grille
    1278 
    1279 END SUBROUTINE  simu_airs
    1280 
     1190    do i = 1, klon  ! boucle sur les points de grille
     1191
     1192      !=============================================================================
     1193
     1194      do j = 1, klev
     1195
     1196        rneb_1D(j) = rneb_airs(i, j)
     1197        temp_1D(j) = temp_airs(i, j)
     1198        emis_1D(j) = cldemi_airs(i, j)
     1199        iwcon_1D(j) = iwcon_airs(i, j)
     1200        rad_1D(j) = rad_airs(i, j)
     1201        pres_1D(j) = pplay_airs(i, j)
     1202        alt_1D(j) = geop_airs(i, j) / RG
     1203        rhodz_1D(j) = rhodz_airs(i, j)
     1204        dz_1D(j) = rhodz_airs(i, j) / rho_airs(i, j)
     1205
     1206      enddo
     1207
     1208      alt_tropo(i) = &
     1209              search_tropopause(pres_1D / 100., temp_1D, alt_1D, klev)
     1210
     1211
     1212      ! Appel du ss-programme sim_mesh
     1213
     1214      !        if (itap .EQ. 1 ) THEN
     1215      CALL sim_mesh(rneb_1D, temp_1D, emis_1D, iwcon_1D, rad_1D, &
     1216              pres_1D, dz_1D, rhodz_1D, &
     1217              cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, &
     1218              pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh, &
     1219              deltaz_hc_mesh, &
     1220              cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
     1221              pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
     1222              pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
     1223              pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
     1224              em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
     1225
     1226      WRITE(*, *) '===================================='
     1227      WRITE(*, *) 'itap, i:', itap, i
     1228      WRITE(*, *) 'cc_tot, cc_hc, cc_hist, pcld_hc, tcld_hc, em_hc, &
     1229              iwp_hc, em_hist, iwp_hist ='
     1230      WRITE(*, *) cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
     1231      WRITE(*, *) pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
     1232      WRITE(*, *)  em_hist_mesh, iwp_hist_mesh
     1233
     1234      !        endif
     1235
     1236      ! Definition des variables a ecrire dans le fichier de sortie
     1237
     1238      CALL normal2_undef(map_prop_hc(i), cc_hc_mesh, &
     1239              cc_tot_mesh)
     1240      CALL normal2_undef(map_prop_hist(i), cc_hist_mesh, &
     1241              cc_tot_mesh)
     1242
     1243      map_emis_hc(i) = em_hc_mesh
     1244      map_iwp_hc(i) = iwp_hc_mesh
     1245      map_deltaz_hc(i) = deltaz_hc_mesh
     1246      map_pcld_hc(i) = pcld_hc_mesh
     1247      map_tcld_hc(i) = tcld_hc_mesh
     1248
     1249      map_emis_Cb(i) = em_Cb_mesh
     1250      map_pcld_Cb(i) = pcld_Cb_mesh
     1251      map_tcld_Cb(i) = tcld_Cb_mesh
     1252
     1253      map_emis_ThCi(i) = em_ThCi_mesh
     1254      map_pcld_ThCi(i) = pcld_ThCi_mesh
     1255      map_tcld_ThCi(i) = tcld_ThCi_mesh
     1256
     1257      map_emis_Anv(i) = em_Anv_mesh
     1258      map_pcld_Anv(i) = pcld_Anv_mesh
     1259      map_tcld_Anv(i) = tcld_Anv_mesh
     1260
     1261      map_emis_hist(i) = em_hist_mesh
     1262      map_iwp_hist(i) = iwp_hist_mesh
     1263      map_deltaz_hist(i) = deltaz_hist_mesh
     1264      map_rad_hist(i) = rad_hist_mesh
     1265
     1266      map_ntot(i) = cc_tot_mesh
     1267      map_hc(i) = cc_hc_mesh
     1268      map_hist(i) = cc_hist_mesh
     1269
     1270      map_Cb(i) = cc_Cb_mesh
     1271      map_ThCi(i) = cc_ThCi_mesh
     1272      map_Anv(i) = cc_Anv_mesh
     1273
     1274    enddo         ! fin boucle sur les points de grille
     1275
     1276  END SUBROUTINE  simu_airs
     1277
     1278
     1279END MODULE lmdz_simu_airs
     1280
  • LMDZ6/branches/Amaury_dev/libf/phylmd/mod_synchro_omp.F90

    r5111 r5128  
    99  SUBROUTINE Init_synchro_omp
    1010    USE lmdz_phys_para
    11     USE lmdz_abort_physic, ONLY: abort_physic
    1211    IMPLICIT NONE
    1312
     
    2221  SUBROUTINE Synchro_omp
    2322    USE lmdz_phys_para
     23    USE lmdz_abort_physic, ONLY: abort_physic
    2424    IMPLICIT NONE
    2525    LOGICAL :: out
  • LMDZ6/branches/Amaury_dev/libf/phylmd/nuage.h

    r5099 r5128  
    99
    1010      common /nuagecom/ rad_froid,rad_chau1, rad_chau2,                 &
    11      &                  tau_cld_cv,coefw_cld_cv,                        &
    12      &                  tmax_fonte_cv,iflag_ratqs,                      &
    13      &                  iflag_cld_cv,                                   &
    14      &                  ok_icefra_lscp                                 
     11                        tau_cld_cv,coefw_cld_cv,                        &
     12                        tmax_fonte_cv,iflag_ratqs,                      &
     13                        iflag_cld_cv,                                   &
     14                        ok_icefra_lscp
    1515!$OMP THREADPRIVATE(/nuagecom/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/pbl_surface_mod.F90

    r5123 r5128  
    3232  USE config_ocean_skin_m, ONLY: activate_ocean_skin
    3333  USE lmdz_abort_physic, ONLY: abort_physic
     34
    3435#ifdef ISO
    3536  USE infotrac_phy, ONLY: niso,ntraciso=>ntiso
  • LMDZ6/branches/Amaury_dev/libf/phylmd/physiq_mod.F90

    r5117 r5128  
    349349            reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra
    350350    USE output_physiqex_mod, ONLY: output_physiqex
     351    USE lmdz_simu_airs, ONLY: simu_airs
    351352
    352353    IMPLICIT NONE
     
    600601
    601602    !      REAL,ALLOCATABLE,save :: run_off_lic_0(:)
    602     !$OMP THREADPRIVATE(run_off_lic_0)
     603    !!! !$OMP THREADPRIVATE(run_off_lic_0)
    603604    !ym      SAVE run_off_lic_0
    604605    !KE43
  • LMDZ6/branches/Amaury_dev/libf/phylmd/surf_landice_mod.F90

    r5123 r5128  
    11MODULE surf_landice_mod
     2
    23
    34  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/tsoilnudge.h

    r5117 r5128  
    44
    55      common /tsoilnudge/ nudge_tsoil, isoil_nudge, Tsoil_nudge,        &
    6      &                   tau_soil_nudge
     6                         tau_soil_nudge
    77
  • LMDZ6/branches/Amaury_dev/libf/phylmd/write_histREGDYN.h

    r5117 r5128  
    22! $Header$
    33
    4       IF (ok_regdyn) THEN
    5       IF (is_sequential) THEN
    6       ndex3d = 0
    7       itau_w = itau_phy + itap + start_time * day_step / iphysiq
    8 c
    9        CALL histwrite(nid_regdyn,"hw1",itau_w,histoW(:,:,:,1),
    10      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    11 c
    12        CALL histwrite(nid_regdyn,"nh1",itau_w,nhistoW(:,:,:,1),
    13      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    14 c
    15        CALL histwrite(nid_regdyn,"nht1",itau_w,nhistoWt(:,:,:,1),
    16      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    17 c
    18        CALL histwrite(nid_regdyn,"hw2",itau_w,histoW(:,:,:,2),
    19      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    20 c
    21        CALL histwrite(nid_regdyn,"nh2",itau_w,nhistoW(:,:,:,2),
    22      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    23 c
    24        CALL histwrite(nid_regdyn,"nht2",itau_w,nhistoWt(:,:,:,2),
    25      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    26 c
    27        CALL histwrite(nid_regdyn,"hw3",itau_w,histoW(:,:,:,3),
    28      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    29 c
    30        CALL histwrite(nid_regdyn,"nh3",itau_w,nhistoW(:,:,:,3),
    31      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    32 c
    33        CALL histwrite(nid_regdyn,"nht3",itau_w,nhistoWt(:,:,:,3),
    34      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    35 c
    36        CALL histwrite(nid_regdyn,"hw4",itau_w,histoW(:,:,:,4),
    37      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    38 c
    39        CALL histwrite(nid_regdyn,"nh4",itau_w,nhistoW(:,:,:,4),
    40      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    41 c
    42        CALL histwrite(nid_regdyn,"nht4",itau_w,nhistoWt(:,:,:,4),
    43      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    44 c
    45        CALL histwrite(nid_regdyn,"hw5",itau_w,histoW(:,:,:,5),
    46      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    47 c
    48        CALL histwrite(nid_regdyn,"nh5",itau_w,nhistoW(:,:,:,5),
    49      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    50 c
    51        CALL histwrite(nid_regdyn,"nht5",itau_w,nhistoWt(:,:,:,5),
    52      &               kmaxm1*lmaxm1*iwmax,ndex3d)
     4IF (ok_regdyn) THEN
     5IF (is_sequential) THEN
     6ndex3d = 0
     7itau_w = itau_phy + itap + start_time * day_step / iphysiq
     8!
     9 CALL histwrite(nid_regdyn,"hw1",itau_w,histoW(:,:,:,1), &
     10       kmaxm1*lmaxm1*iwmax,ndex3d)
     11!
     12 CALL histwrite(nid_regdyn,"nh1",itau_w,nhistoW(:,:,:,1), &
     13       kmaxm1*lmaxm1*iwmax,ndex3d)
     14!
     15 CALL histwrite(nid_regdyn,"nht1",itau_w,nhistoWt(:,:,:,1), &
     16       kmaxm1*lmaxm1*iwmax,ndex3d)
     17!
     18 CALL histwrite(nid_regdyn,"hw2",itau_w,histoW(:,:,:,2), &
     19       kmaxm1*lmaxm1*iwmax,ndex3d)
     20!
     21 CALL histwrite(nid_regdyn,"nh2",itau_w,nhistoW(:,:,:,2), &
     22       kmaxm1*lmaxm1*iwmax,ndex3d)
     23!
     24 CALL histwrite(nid_regdyn,"nht2",itau_w,nhistoWt(:,:,:,2), &
     25       kmaxm1*lmaxm1*iwmax,ndex3d)
     26!
     27 CALL histwrite(nid_regdyn,"hw3",itau_w,histoW(:,:,:,3), &
     28       kmaxm1*lmaxm1*iwmax,ndex3d)
     29!
     30 CALL histwrite(nid_regdyn,"nh3",itau_w,nhistoW(:,:,:,3), &
     31       kmaxm1*lmaxm1*iwmax,ndex3d)
     32!
     33 CALL histwrite(nid_regdyn,"nht3",itau_w,nhistoWt(:,:,:,3), &
     34       kmaxm1*lmaxm1*iwmax,ndex3d)
     35!
     36 CALL histwrite(nid_regdyn,"hw4",itau_w,histoW(:,:,:,4), &
     37       kmaxm1*lmaxm1*iwmax,ndex3d)
     38!
     39 CALL histwrite(nid_regdyn,"nh4",itau_w,nhistoW(:,:,:,4), &
     40       kmaxm1*lmaxm1*iwmax,ndex3d)
     41!
     42 CALL histwrite(nid_regdyn,"nht4",itau_w,nhistoWt(:,:,:,4), &
     43       kmaxm1*lmaxm1*iwmax,ndex3d)
     44!
     45 CALL histwrite(nid_regdyn,"hw5",itau_w,histoW(:,:,:,5), &
     46       kmaxm1*lmaxm1*iwmax,ndex3d)
     47!
     48 CALL histwrite(nid_regdyn,"nh5",itau_w,nhistoW(:,:,:,5), &
     49       kmaxm1*lmaxm1*iwmax,ndex3d)
     50!
     51 CALL histwrite(nid_regdyn,"nht5",itau_w,nhistoWt(:,:,:,5), &
     52       kmaxm1*lmaxm1*iwmax,ndex3d)
    5353
    54       IF (ok_sync) THEN
    55         CALL histsync(nid_regdyn)
    56       endif
     54IF (ok_sync) THEN
     55  CALL histsync(nid_regdyn)
     56endif
    5757
    58       endif ! is_sequential
     58endif ! is_sequential
    5959
    60       endif
     60endif
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/physiq_mod.F90

    r5117 r5128  
    417417       reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra
    418418       USE output_physiqex_mod, ONLY: output_physiqex
     419       USE lmdz_simu_airs, ONLY: simu_airs
    419420
    420421
     
    679680
    680681    !      REAL,ALLOCATABLE,save :: run_off_lic_0(:)
    681     !$OMP THREADPRIVATE(run_off_lic_0)
     682    !!! !$OMP THREADPRIVATE(run_off_lic_0)
    682683    !ym      SAVE run_off_lic_0
    683684    !KE43
Note: See TracChangeset for help on using the changeset viewer.