Ignore:
Timestamp:
Jul 26, 2024, 5:56:37 PM (11 months ago)
Author:
abarral
Message:

Replace academic.h, alpale.h, comdissip.h, comdissipn.h, comdissnew.h by modules
Remove unused clesph0.h

Location:
LMDZ6/branches/Amaury_dev/libf/phylmd
Files:
1 deleted
40 edited
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/aeropt_spl.f90

    r5105 r5134  
    1010  USE dimphy
    1111  USE infotrac
    12   IMPLICIT none
     12  IMPLICIT NONE
    1313  !
    1414  INCLUDE "chem.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/cltrac_spl.f90

    r5105 r5134  
    33
    44  USE dimphy
    5   IMPLICIT none
     5  IMPLICIT NONE
    66  !======================================================================
    77  ! Auteur(s): O. Boucher (LOA/LMD) date: 19961127
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/condsurfc.f90

    r5117 r5134  
    55  USE dimphy
    66  USE netcdf, ONLY: nf90_close, nf90_noerr, nf90_inq_varid, nf90_open, nf90_nowrite, nf90_get_var
    7   IMPLICIT none
     7  IMPLICIT NONE
    88
    99  ! Lire les conditions aux limites du modele pour la chimie.
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/condsurfc_new.f90

    r5117 r5134  
    77  USE dimphy
    88  USE netcdf, ONLY: nf90_get_var, nf90_close, nf90_noerr, nf90_inq_varid, nf90_open, nf90_nowrite
    9   IMPLICIT none
     9  IMPLICIT NONE
    1010
    1111  ! Lire les conditions aux limites du modele pour la chimie.
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/condsurfs.f90

    r5117 r5134  
    66  USE netcdf, ONLY: nf90_close, nf90_noerr, nf90_inq_varid, nf90_open, &
    77          nf90_nowrite, nf90_get_var
    8   IMPLICIT none
     8  IMPLICIT NONE
    99
    1010  ! Lire les conditions aux limites du modele pour la chimie.
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/condsurfs_new.f90

    r5117 r5134  
    1010  USE dimphy
    1111  USE netcdf, ONLY: nf90_get_var, nf90_inq_varid, nf90_close, nf90_noerr, nf90_open, nf90_nowrite
    12   IMPLICIT none
     12  IMPLICIT NONE
    1313
    1414  ! Lire les conditions aux limites du modele pour la chimie.
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lsc_scav_orig.F90

    r5117 r5134  
    2121!=====================================================================
    2222
    23   include "dimensions.h"
    24   include "chem.h"
    25   include "YOECUMF.h"
     23  INCLUDE "dimensions.h"
     24  INCLUDE "chem.h"
     25  INCLUDE "YOECUMF.h"
    2626
    2727  REAL,INTENT(IN)                        :: pdtime ! time step (s)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/lsc_scav_spl.F90

    r5117 r5134  
    2323! SPLA version taken from trunk revision 2041
    2424
    25   include "dimensions.h"
    26   include "chem.h"
    27   include "YOECUMF.h"
     25  INCLUDE "dimensions.h"
     26  INCLUDE "chem.h"
     27  INCLUDE "YOECUMF.h"
    2828
    2929  REAL,INTENT(IN)                        :: pdtime ! time step (s)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/phys_output_write_spl_mod.F90

    r5123 r5134  
    7575  !JE20150620>>
    7676
    77   ! Author: Abderrahmane IDELKADI (original include file)
     77  ! Author: Abderrahmane IDELKADI (original INCLUDE file)
    7878  ! Author: Laurent FAIRHEAD (transformation to module/subroutine)
    7979  ! Author: Ulysse GERARD (effective implementation)
     
    396396    USE lmdz_yomcst
    397397    USE lmdz_iniprint, ONLY: lunout, prt_level
     398    USE lmdz_alpale
    398399
    399400    IMPLICIT NONE
     
    401402    !   INCLUDE "temps.h"
    402403    INCLUDE "clesphys.h"
    403     INCLUDE "alpale.h"
    404404    INCLUDE "compbl.h"
    405405    INCLUDE "dimensions.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/phytracr_spl_mod.F90

    r5133 r5134  
    798798
    799799    USE lmdz_yomcst
    800 
    801     IMPLICIT none
     800    USE lmdz_alpale
     801
     802    IMPLICIT NONE
    802803
    803804    !======================================================================
     
    817818    INCLUDE "YOETHF.h"
    818819    INCLUDE "paramet.h"
    819     INCLUDE "alpale.h"
    820820
    821821    !======================================================================
     
    11611161    ! JE for updating in  cltrac
    11621162    REAL, DIMENSION(klon, klev) :: delp     ! epaisseur de couche (Pa)
    1163     !! JE for include gas to particle conversion in output
     1163    !! JE for INCLUDE gas to particle conversion in output
    11641164    !      REAL his_g2pgas(klon)      ! gastoparticle in gas units (check!)
    11651165    !      REAL his_g2paer(klon)      ! gastoparticle in aerosol units (check!)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/tiedqneg.f90

    r5106 r5134  
    22
    33  USE dimphy
    4   IMPLICIT none
     4  IMPLICIT NONE
    55  !======================================================================
    66  ! Auteur(s): CG (LGGE/CNRS) date: 19950201
  • LMDZ6/branches/Amaury_dev/libf/phylmd/add_phys_tend_mod.F90

    r5117 r5134  
    108108USE phys_output_var_mod, ONLY: d_qw_col, d_ql_col, d_qs_col, d_qbs_col, d_qt_col, d_ek_col, d_h_dair_col &
    109109             , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
    110 IMPLICIT none
     110IMPLICIT NONE
    111111INCLUDE "YOMCST.h"
    112112INCLUDE "clesphys.h"
     
    507507USE phys_output_var_mod, ONLY: d_qw_col, d_ql_col, d_qs_col, d_qbs_col, d_qt_col, d_ek_col, d_h_dair_col &
    508508             , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
    509 IMPLICIT none
     509IMPLICIT NONE
    510510  include "YOMCST.h"
    511511  include "clesphys.h"
     
    656656                    zh_qw_col, zh_ql_col, zh_qs_col, zh_qbs_col, zh_col)
    657657
    658 IMPLICIT none
     658IMPLICIT NONE
    659659INCLUDE "YOMCST.h"
    660660
     
    736736    , rain_lsc, snow_lsc
    737737USE climb_hq_mod, ONLY: d_h_col_vdf, f_h_bnd
    738 IMPLICIT none
     738IMPLICIT NONE
    739739INCLUDE "YOMCST.h"
    740740
  • LMDZ6/branches/Amaury_dev/libf/phylmd/add_wake_tend.F90

    r5116 r5134  
    1313
    1414USE lmdz_print_control, ONLY: prt_level
    15 IMPLICIT none
     15IMPLICIT NONE
    1616
    1717! Arguments :
  • LMDZ6/branches/Amaury_dev/libf/phylmd/alpale_th.F90

    r5117 r5134  
    2121  USE lmdz_print_control, ONLY: mydebug=>debug , lunout, prt_level
    2222  USE lmdz_abort_physic, ONLY: abort_physic
     23  USE lmdz_alpale
    2324
    2425  IMPLICIT NONE
     
    4748
    4849  REAL, DIMENSION(klon), INTENT(OUT)                         :: birth_rate
    49 
    50   include "alpale.h"
    5150
    5251! Local variables
  • LMDZ6/branches/Amaury_dev/libf/phylmd/calbeta.F90

    r5099 r5134  
    88  USE indice_sol_mod
    99
    10   IMPLICIT none
     10  IMPLICIT NONE
    1111
    1212  INCLUDE "flux_arp.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/cfmip_point_locations.F90

    r5116 r5134  
    55
    66 SUBROUTINE read_CFMIP_point_locations(npCFMIP, tab, lonCFMIP, latCFMIP)
    7   IMPLICIT none
     7  IMPLICIT NONE
    88  INTEGER :: npCFMIP
    99  REAL, DIMENSION(npCFMIP) :: lonCFMIP, latCFMIP
     
    3535  USE lmdz_grid_phy, ONLY: nbp_lon, nbp_lat, klon_glo
    3636
    37   IMPLICIT none
     37  IMPLICIT NONE
    3838  INTEGER :: npCFMIP
    3939  REAL, DIMENSION(npCFMIP) :: lonCFMIP, latCFMIP
  • LMDZ6/branches/Amaury_dev/libf/phylmd/cmp_seri_mod.F90

    r5117 r5134  
    2626         t_seri
    2727
    28     IMPLICIT none
     28    IMPLICIT NONE
    2929    ! Local :
    3030    !--------
     
    6262         t_seri
    6363    USE lmdz_print_control, ONLY: prt_level
    64     IMPLICIT none
     64    IMPLICIT NONE
    6565    ! Arguments :
    6666    !------------
  • LMDZ6/branches/Amaury_dev/libf/phylmd/coefcdrag.F90

    r5117 r5134  
    1010      USE lmdz_abort_physic, ONLY: abort_physic
    1111
    12       IMPLICIT none
     12      IMPLICIT NONE
    1313!-------------------------------------------------------------------------
    1414! Objet : calcul des cdrags pour le moment (cdram) et les flux de chaleur
  • LMDZ6/branches/Amaury_dev/libf/phylmd/conf_phys_m.F90

    r5117 r5134  
    3737    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
    3838    USE lmdz_abort_physic, ONLY: abort_physic
     39    USE lmdz_alpale
    3940
    4041    INCLUDE "conema3.h"
     
    4243    INCLUDE "YOMCST.h"
    4344    INCLUDE "YOMCST2.h"
    44     INCLUDE "alpale.h"
    4545
    4646    !IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12
  • LMDZ6/branches/Amaury_dev/libf/phylmd/create_etat0_unstruct_mod.F90

    r5116 r5134  
    9292  USE lmdz_geometry
    9393  USE lmdz_ioipsl_getin_p, ONLY: getin_p
     94  USE lmdz_alpale
    9495
    9596  IMPLICIT NONE
     
    114115
    115116    INCLUDE "compbl.h"
    116     INCLUDE "alpale.h"
    117    
     117
    118118    INTEGER :: ji,j,i
    119119 
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_1dutils.f90

    r5133 r5134  
    66CONTAINS
    77  REAL FUNCTION fq_sat(kelvin, millibar)
    8     IMPLICIT none
     8    IMPLICIT NONE
    99    !======================================================================
    1010    ! Autheur(s): Z.X. Li (LMD/CNRS)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_old_1dconv.f90

    r5128 r5134  
    632632  SUBROUTINE rdgrads(itape, icount, nl, z, ht, hq, hw, hu, hv, hthtur, hqtur, &
    633633          &  ts_fcg, ts, imp_fcg, Turb_fcg)
    634     IMPLICIT none
     634    IMPLICIT NONE
    635635    INTEGER itape, icount, icomp, nl
    636636    REAL z(nl), ht(nl), hq(nl), hw(nl), hu(nl), hv(nl)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/ener_conserv.F90

    r5117 r5134  
    3131USE lmdz_abort_physic, ONLY: abort_physic
    3232
    33 IMPLICIT none
     33IMPLICIT NONE
    3434INCLUDE "YOMCST.h"
    3535INCLUDE "YOETHF.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/gr_fi_ecrit.F90

    r5099 r5134  
    11SUBROUTINE gr_fi_ecrit(nfield,nlon,iim,jjmp1,fi,ecrit)
    2   IMPLICIT none
     2  IMPLICIT NONE
    33
    44  ! Tranformer une variable de la grille physique a
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/surf_inlandsis_mod.F90

    r5128 r5134  
    10421042        USE indice_sol_mod
    10431043
    1044         IMPLICIT none
     1044        IMPLICIT NONE
    10451045        !======================================================================
    10461046        ! Auteur(s) HJ PUNGE (LSCE) date: 07/2009
     
    12781278        USE dimphy
    12791279
    1280         IMPLICIT none
     1280        IMPLICIT NONE
    12811281
    12821282        include "clesphys.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/iophys.F90

    r5119 r5134  
    187187#ifdef und
    188188      SUBROUTINE gr_fi_ecrit(nfield,nlon,iim,jjmp1,fi,ecrit)
    189       IMPLICIT none
     189      IMPLICIT NONE
    190190
    191191!=======================================================================
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_alpale.f90

    r5133 r5134  
    1 SUBROUTINE alpale( debut, itap, dtime, paprs, omega, t_seri,   &
    2                     alp_offset, it_wape_prescr,  wape_prescr, fip_prescr, &
    3                     ale_bl_prescr, alp_bl_prescr, &
    4                     wake_pe, wake_fip,  &
    5                     Ale_bl, Ale_bl_trig, Alp_bl, &
    6                     Ale, Alp, Ale_wake, Alp_wake )
    7 
    8 ! **************************************************************
    9 ! *
    10 ! ALPALE                                                       *
    11 ! *
    12 ! *
    13 ! written by   : Jean-Yves Grandpeix, 12/05/2016              *
    14 ! modified by :                                               *
    15 ! **************************************************************
    16 
    17   USE dimphy
    18   USE lmdz_ioipsl_getin_p, ONLY: getin_p
    19   USE lmdz_print_control, ONLY: mydebug=>debug , lunout, prt_level
    20   USE phys_local_var_mod, ONLY: zw2       ! Variables internes non sauvegardees de la physique
    21   USE lmdz_abort_physic, ONLY: abort_physic
    22 
    23   IMPLICIT NONE
    24 
    25 !================================================================
    26 ! Auteur(s)   : Jean-Yves Grandpeix, 12/05/2016
    27 ! Objet : Sums up all contributions to Ale and Alp
    28 !================================================================
    29 
    30 ! Input arguments
    31 !----------------
    32   LOGICAL, INTENT(IN)                                        :: debut
    33   INTEGER, INTENT(IN)                                        :: itap
    34   REAL, INTENT(IN)                                           :: dtime
    35   INTEGER, INTENT(IN)                                        :: it_wape_prescr
    36   REAL, INTENT(IN)                                           :: wape_prescr, fip_prescr
    37   REAL, INTENT(IN)                                           :: Ale_bl_prescr, Alp_bl_prescr
    38   REAL, INTENT(IN)                                           :: alp_offset
    39   REAL, DIMENSION(klon,klev+1), INTENT(IN)                   :: paprs
    40   REAL, DIMENSION(klon,klev), INTENT(IN)                     :: t_seri
    41   REAL, DIMENSION(klon,klev), INTENT(IN)                     :: omega
    42   REAL, DIMENSION(klon), INTENT(IN)                          :: wake_pe, wake_fip
    43   REAL, DIMENSION(klon), INTENT(IN)                          :: Ale_bl, Ale_bl_trig, Alp_bl
    44 
    45 
    46 ! Output arguments
    47 !----------------
    48   REAL, DIMENSION(klon), INTENT(OUT)                         :: Ale, Alp
    49   REAL, DIMENSION(klon), INTENT(OUT)                         :: Ale_wake, Alp_wake
    50 
    51   include "alpale.h"
    52   include "YOMCST.h"
    53   include "YOETHF.h"
    54 
    55 ! Local variables
    56 !----------------
    57   INTEGER                                                    :: i, k
    58   REAL, DIMENSION(klon)                                      :: www
    59   REAL, SAVE                                                 :: ale_max=1000.
    60   REAL, SAVE                                                 :: alp_max=2.
    61   CHARACTER*20 modname
    62   CHARACTER*80 abort_message
     1! Contains the alpale subroutine, as well as the old content from alpale.h
     2
     3MODULE lmdz_alpale
     4  IMPLICIT NONE; PRIVATE
     5  PUBLIC alpale
     6
     7  !=====================================================================
     8  ! Specifique de Ale/Alp :
     9  !=====================================================================
     10  PUBLIC iflag_trig_bl, iflag_clos_bl, tau_trig_shallow, tau_trig_deep, iflag_strig, &
     11          alp_bl_k, s_trig, h_trig, iflag_coupl, iflag_clos, iflag_wake
     12  ! dans alealp_th, thermcell_alp, physiq_mod, conf_phys
     13  INTEGER :: iflag_trig_bl, iflag_clos_bl, iflag_strig
     14  INTEGER :: tau_trig_shallow, tau_trig_deep
     15  REAL :: s_trig, h_trig
     16  ! thermcell_alp et convection ...
     17  INTEGER :: iflag_coupl, iflag_clos, iflag_wake
     18  ! thermcell_alp
     19  REAL :: alp_bl_k
     20  !$OMP THREADPRIVATE(iflag_trig_bl, iflag_clos_bl, tau_trig_shallow, tau_trig_deep, iflag_strig)
     21  !$OMP THREADPRIVATE(alp_bl_k, s_trig, h_trig, iflag_coupl, iflag_clos, iflag_wake)
     22
     23CONTAINS
     24
     25  SUBROUTINE alpale(debut, itap, dtime, paprs, omega, t_seri, &
     26          alp_offset, it_wape_prescr, wape_prescr, fip_prescr, &
     27          ale_bl_prescr, alp_bl_prescr, &
     28          wake_pe, wake_fip, &
     29          Ale_bl, Ale_bl_trig, Alp_bl, &
     30          Ale, Alp, Ale_wake, Alp_wake)
     31
     32    ! **************************************************************
     33    ! *
     34    ! ALPALE                                                       *
     35    ! *
     36    ! *
     37    ! written by   : Jean-Yves Grandpeix, 12/05/2016              *
     38    ! modified by :                                               *
     39    ! **************************************************************
     40
     41    USE dimphy
     42    USE lmdz_ioipsl_getin_p, ONLY: getin_p
     43    USE lmdz_print_control, ONLY: mydebug => debug, lunout, prt_level
     44    USE phys_local_var_mod, ONLY: zw2       ! Variables internes non sauvegardees de la physique
     45    USE lmdz_abort_physic, ONLY: abort_physic
     46
     47    IMPLICIT NONE
     48
     49    !================================================================
     50    ! Auteur(s)   : Jean-Yves Grandpeix, 12/05/2016
     51    ! Objet : Sums up all contributions to Ale and Alp
     52    !================================================================
     53
     54    ! Input arguments
     55    !----------------
     56    LOGICAL, INTENT(IN) :: debut
     57    INTEGER, INTENT(IN) :: itap
     58    REAL, INTENT(IN) :: dtime
     59    INTEGER, INTENT(IN) :: it_wape_prescr
     60    REAL, INTENT(IN) :: wape_prescr, fip_prescr
     61    REAL, INTENT(IN) :: Ale_bl_prescr, Alp_bl_prescr
     62    REAL, INTENT(IN) :: alp_offset
     63    REAL, DIMENSION(klon, klev + 1), INTENT(IN) :: paprs
     64    REAL, DIMENSION(klon, klev), INTENT(IN) :: t_seri
     65    REAL, DIMENSION(klon, klev), INTENT(IN) :: omega
     66    REAL, DIMENSION(klon), INTENT(IN) :: wake_pe, wake_fip
     67    REAL, DIMENSION(klon), INTENT(IN) :: Ale_bl, Ale_bl_trig, Alp_bl
     68
     69
     70    ! Output arguments
     71    !----------------
     72    REAL, DIMENSION(klon), INTENT(OUT) :: Ale, Alp
     73    REAL, DIMENSION(klon), INTENT(OUT) :: Ale_wake, Alp_wake
     74
     75    include "YOMCST.h"
     76    include "YOETHF.h"
     77
     78    ! Local variables
     79    !----------------
     80    INTEGER :: i, k
     81    REAL, DIMENSION(klon) :: www
     82    REAL, SAVE :: ale_max = 1000.
     83    REAL, SAVE :: alp_max = 2.
     84    CHARACTER*20 modname
     85    CHARACTER*80 abort_message
    6386
    6487
    6588    !$OMP THREADPRIVATE(ale_max,alp_max)
    6689
    67        ! Calcul de l'energie disponible ALE (J/kg) et de la puissance
    68        ! disponible ALP (W/m2) pour le soulevement des particules dans
    69        ! le modele convectif
    70 
    71        do i = 1,klon
    72           ALE(i) = 0.
    73           ALP(i) = 0.
    74        enddo
    75 
    76        !calcul de ale_wake et alp_wake
    77        IF (iflag_wake>=1) THEN
    78           IF (itap <= it_wape_prescr) THEN
    79              do i = 1,klon
    80                 ale_wake(i) = wape_prescr
    81                 alp_wake(i) = fip_prescr
    82              enddo
    83           else
    84              do i = 1,klon
    85                 !jyg  ALE=WAPE au lieu de ALE = 1/2 Cstar**2
    86                 !cc           ale_wake(i) = 0.5*wake_cstar(i)**2
    87                 ale_wake(i) = wake_pe(i)
    88                 alp_wake(i) = wake_fip(i)
    89              enddo
    90           endif
    91        else
    92           do i = 1,klon
    93              ale_wake(i) = 0.
    94              alp_wake(i) = 0.
     90    ! Calcul de l'energie disponible ALE (J/kg) et de la puissance
     91    ! disponible ALP (W/m2) pour le soulevement des particules dans
     92    ! le modele convectif
     93
     94    do i = 1, klon
     95      ALE(i) = 0.
     96      ALP(i) = 0.
     97    enddo
     98
     99    !calcul de ale_wake et alp_wake
     100    IF (iflag_wake>=1) THEN
     101      IF (itap <= it_wape_prescr) THEN
     102        do i = 1, klon
     103          ale_wake(i) = wape_prescr
     104          alp_wake(i) = fip_prescr
     105        enddo
     106      else
     107        do i = 1, klon
     108          !jyg  ALE=WAPE au lieu de ALE = 1/2 Cstar**2
     109          !cc           ale_wake(i) = 0.5*wake_cstar(i)**2
     110          ale_wake(i) = wake_pe(i)
     111          alp_wake(i) = wake_fip(i)
     112        enddo
     113      endif
     114    else
     115      do i = 1, klon
     116        ale_wake(i) = 0.
     117        alp_wake(i) = 0.
     118      enddo
     119    endif
     120    !combinaison avec ale et alp de couche limite: constantes si pas
     121    !de couplage, valeurs calculees dans le thermique sinon
     122    IF (iflag_coupl==0) THEN
     123      IF (debut.AND.prt_level>9) &
     124              WRITE(lunout, *)'ALE et ALP imposes'
     125      do i = 1, klon
     126        !on ne couple que ale
     127        !           ALE(i) = max(ale_wake(i),Ale_bl(i))
     128        ALE(i) = max(ale_wake(i), ale_bl_prescr)
     129        !on ne couple que alp
     130        !           ALP(i) = alp_wake(i) + Alp_bl(i)
     131        ALP(i) = alp_wake(i) + alp_bl_prescr
     132      enddo
     133    else
     134      IF(prt_level>9)WRITE(lunout, *)'ALE et ALP couples au thermique'
     135      !         do i = 1,klon
     136      !             ALE(i) = max(ale_wake(i),Ale_bl(i))
     137      ! avant        ALP(i) = alp_wake(i) + Alp_bl(i)
     138      !             ALP(i) = alp_wake(i) + Alp_bl(i) + alp_offset ! modif sb
     139      !         WRITE(20,*)'ALE',ALE(i),Ale_bl(i),ale_wake(i)
     140      !         WRITE(21,*)'ALP',ALP(i),Alp_bl(i),alp_wake(i)
     141      !         enddo
     142
     143      ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     144      ! Modif FH 2010/04/27. Sans doute temporaire.
     145      ! Deux options pour le alp_offset : constant si >?? 0 ou
     146      ! proportionnel ??a w si <0
     147      ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     148      ! Estimation d'une vitesse verticale effective pour ALP
     149      IF (1==0) THEN
     150        www(1:klon) = 0.
     151        do k = 2, klev - 1
     152          do i = 1, klon
     153            www(i) = max(www(i), -omega(i, k) * RD * t_seri(i, k) &
     154                    / (RG * paprs(i, k)) * zw2(i, k) * zw2(i, k))
     155            ! if (paprs(i,k)>pbase(i)) THEN
     156            ! calcul approche de la vitesse verticale en m/s
     157            !  www(i)=max(www(i),-omega(i,k)*RD*temp(i,k)/(RG*paprs(i,k))
     158            !             endif
     159            !   Le 0.1 est en gros H / ps = 1e4 / 1e5
    95160          enddo
    96        endif
    97        !combinaison avec ale et alp de couche limite: constantes si pas
    98        !de couplage, valeurs calculees dans le thermique sinon
    99        IF (iflag_coupl==0) THEN
    100           IF (debut.AND.prt_level>9) &
    101                WRITE(lunout,*)'ALE et ALP imposes'
    102           do i = 1,klon
    103              !on ne couple que ale
    104              !           ALE(i) = max(ale_wake(i),Ale_bl(i))
    105              ALE(i) = max(ale_wake(i),ale_bl_prescr)
    106              !on ne couple que alp
    107              !           ALP(i) = alp_wake(i) + Alp_bl(i)
    108              ALP(i) = alp_wake(i) + alp_bl_prescr
    109           enddo
    110        else
    111           IF(prt_level>9)WRITE(lunout,*)'ALE et ALP couples au thermique'
    112           !         do i = 1,klon
    113           !             ALE(i) = max(ale_wake(i),Ale_bl(i))
    114           ! avant        ALP(i) = alp_wake(i) + Alp_bl(i)
    115           !             ALP(i) = alp_wake(i) + Alp_bl(i) + alp_offset ! modif sb
    116           !         WRITE(20,*)'ALE',ALE(i),Ale_bl(i),ale_wake(i)
    117           !         WRITE(21,*)'ALP',ALP(i),Alp_bl(i),alp_wake(i)
    118           !         enddo
    119 
    120           ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    121           ! Modif FH 2010/04/27. Sans doute temporaire.
    122           ! Deux options pour le alp_offset : constant si >?? 0 ou
    123           ! proportionnel ??a w si <0
    124           ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    125           ! Estimation d'une vitesse verticale effective pour ALP
    126           IF (1==0) THEN
    127              www(1:klon)=0.
    128              do k=2,klev-1
    129                 do i=1,klon
    130                    www(i)=max(www(i),-omega(i,k)*RD*t_seri(i,k) &
    131                         /(RG*paprs(i,k)) *zw2(i,k)*zw2(i,k))
    132                    ! if (paprs(i,k)>pbase(i)) THEN
    133                    ! calcul approche de la vitesse verticale en m/s
    134                    !  www(i)=max(www(i),-omega(i,k)*RD*temp(i,k)/(RG*paprs(i,k))
    135                    !             endif
    136                    !   Le 0.1 est en gros H / ps = 1e4 / 1e5
    137                 enddo
    138              enddo
    139              do i=1,klon
    140                 IF (www(i)>0. .AND. ale_bl(i)>0. ) www(i)=www(i)/ale_bl(i)
    141              enddo
    142           ENDIF
    143 
    144 
    145           do i = 1,klon
    146              ALE(i) = max(ale_wake(i),Ale_bl(i))
    147              !cc nrlmd le 10/04/2012----------Stochastic triggering------------
    148              IF (iflag_trig_bl>=1) THEN
    149                 ALE(i) = max(ale_wake(i),Ale_bl_trig(i))
    150              endif
    151              !cc fin nrlmd le 10/04/2012
    152              IF (alp_offset>=0.) THEN
    153                 ALP(i) = alp_wake(i) + Alp_bl(i) + alp_offset ! modif sb
    154              else
    155                 abort_message ='Ne pas passer la car www non calcule'
    156                 CALL abort_physic (modname,abort_message,1)
    157 
    158                 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    159                 !                                _                  _
    160                 ! Ajout d'une composante 3 * A * w w'2 a w'3 avec
    161                 ! w=www : w max sous pbase ou A est la fraction
    162                 ! couverte par les ascendances w' on utilise le fait
    163                 ! que A * w'3 = ALP et donc A * w'2 ~ ALP / sqrt(ALE)
    164                 ! (on ajoute 0.1 pour les singularites)
    165                 ALP(i)=alp_wake(i)*(1.+3.*www(i)/( sqrt(ale_wake(i))+0.1) ) &
    166                      +alp_bl(i)  *(1.+3.*www(i)/( sqrt(ale_bl(i))  +0.1) )
    167                 !    ALP(i)=alp_wake(i)+Alp_bl(i)+alp_offset*min(omega(i,6),0.)
    168                 !             if (alp(i)<0.) THEN
    169                 !                PRINT*,'ALP ',alp(i),alp_wake(i) &
    170                 !                     ,Alp_bl(i),alp_offset*min(omega(i,6),0.)
    171                 !             endif
    172              endif
    173           enddo
    174           ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    175 
    176        endif
    177        do i=1,klon
    178           IF (alp(i)>alp_max) THEN
    179              IF(prt_level>9)WRITE(lunout,*)                             &
    180                   'WARNING SUPER ALP (seuil=',alp_max, &
    181                   '): i, alp, alp_wake,ale',i,alp(i),alp_wake(i),ale(i)
    182              alp(i)=alp_max
    183           endif
    184           IF (ale(i)>ale_max) THEN
    185              IF(prt_level>9)WRITE(lunout,*)                             &
    186                   'WARNING SUPER ALE (seuil=',ale_max, &
    187                   '): i, alp, alp_wake,ale',i,ale(i),ale_wake(i),alp(i)
    188              ale(i)=ale_max
    189           endif
    190        enddo
    191 
    192        !fin calcul ale et alp
    193        !=======================================================================
    194 
    195 
    196   RETURN
     161        enddo
     162        do i = 1, klon
     163          IF (www(i)>0. .AND. ale_bl(i)>0.) www(i) = www(i) / ale_bl(i)
     164        enddo
     165      ENDIF
     166
     167      do i = 1, klon
     168        ALE(i) = max(ale_wake(i), Ale_bl(i))
     169        !cc nrlmd le 10/04/2012----------Stochastic triggering------------
     170        IF (iflag_trig_bl>=1) THEN
     171          ALE(i) = max(ale_wake(i), Ale_bl_trig(i))
     172        endif
     173        !cc fin nrlmd le 10/04/2012
     174        IF (alp_offset>=0.) THEN
     175          ALP(i) = alp_wake(i) + Alp_bl(i) + alp_offset ! modif sb
     176        else
     177          abort_message = 'Ne pas passer la car www non calcule'
     178          CALL abort_physic (modname, abort_message, 1)
     179
     180          ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     181          !                                _                  _
     182          ! Ajout d'une composante 3 * A * w w'2 a w'3 avec
     183          ! w=www : w max sous pbase ou A est la fraction
     184          ! couverte par les ascendances w' on utilise le fait
     185          ! que A * w'3 = ALP et donc A * w'2 ~ ALP / sqrt(ALE)
     186          ! (on ajoute 0.1 pour les singularites)
     187          ALP(i) = alp_wake(i) * (1. + 3. * www(i) / (sqrt(ale_wake(i)) + 0.1)) &
     188                  + alp_bl(i) * (1. + 3. * www(i) / (sqrt(ale_bl(i)) + 0.1))
     189          !    ALP(i)=alp_wake(i)+Alp_bl(i)+alp_offset*min(omega(i,6),0.)
     190          !             if (alp(i)<0.) THEN
     191          !                PRINT*,'ALP ',alp(i),alp_wake(i) &
     192          !                     ,Alp_bl(i),alp_offset*min(omega(i,6),0.)
     193          !             endif
     194        endif
     195      enddo
     196      ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     197
     198    endif
     199    do i = 1, klon
     200      IF (alp(i)>alp_max) THEN
     201        IF(prt_level>9)WRITE(lunout, *)                             &
     202                'WARNING SUPER ALP (seuil=', alp_max, &
     203                '): i, alp, alp_wake,ale', i, alp(i), alp_wake(i), ale(i)
     204        alp(i) = alp_max
     205      endif
     206      IF (ale(i)>ale_max) THEN
     207        IF(prt_level>9)WRITE(lunout, *)                             &
     208                'WARNING SUPER ALE (seuil=', ale_max, &
     209                '): i, alp, alp_wake,ale', i, ale(i), ale_wake(i), alp(i)
     210        ale(i) = ale_max
     211      endif
     212    enddo
     213
     214    !fin calcul ale et alp
     215    !=======================================================================
     216
     217    RETURN
    197218  END
    198219
     220END MODULE lmdz_alpale
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_cloudth.F90

    r5117 r5134  
    21222122    USE phys_state_var_mod, ONLY: fm_therm, detr_therm, entr_therm
    21232123
    2124     IMPLICIT none
     2124    IMPLICIT NONE
    21252125
    21262126    INCLUDE "YOMCST.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_lscp_old.F90

    r5117 r5134  
    2727
    2828
    29   IMPLICIT none
     29  IMPLICIT NONE
    3030  !======================================================================
    3131  ! Auteur(s): Z.X. Li (LMD/CNRS)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_alp.F90

    r5119 r5134  
    2121      USE indice_sol_mod
    2222      USE lmdz_thermcell_main, ONLY: thermcell_tke_transport
     23      USE lmdz_alpale
     24
    2325      IMPLICIT NONE
    2426
     
    4042      INCLUDE "YOETHF.h"
    4143      INCLUDE "FCTTRE.h"
    42       INCLUDE "alpale.h"
    4344
    4445!   arguments:
  • LMDZ6/branches/Amaury_dev/libf/phylmd/o3_chem_m.F90

    r5119 r5134  
    22module o3_chem_m
    33
    4   IMPLICIT none
     4  IMPLICIT NONE
    55
    66  PRIVATE o3_prod
  • LMDZ6/branches/Amaury_dev/libf/phylmd/perturb_radlwsw.F90

    r5117 r5134  
    44
    55      USE dimphy
    6       IMPLICIT none
     6      IMPLICIT NONE
    77      INCLUDE "flux_arp.h"     
    88
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phyetat0_mod.F90

    r5117 r5134  
    4242    USE netcdf, ONLY: missing_val_netcdf => nf90_fill_real
    4343    USE config_ocean_skin_m, ONLY: activate_ocean_skin
    44 
    45     IMPLICIT none
     44    USE lmdz_alpale
     45
     46    IMPLICIT NONE
    4647    !======================================================================
    4748    ! Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818
     
    5051    include "dimsoil.h"
    5152    include "clesphys.h"
    52     include "alpale.h"
    5353    include "compbl.h"
    5454    include "YOMCST.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phyredem.F90

    r5117 r5134  
    4242  USE config_ocean_skin_m, ONLY: activate_ocean_skin
    4343  USE lmdz_abort_physic, ONLY: abort_physic
    44 
    45   IMPLICIT none
     44  USE lmdz_alpale
     45
     46  IMPLICIT NONE
    4647
    4748  include "dimsoil.h"
    4849  include "clesphys.h"
    49   include "alpale.h"
    5050  include "compbl.h"
    5151  !======================================================================
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phys_output_write_mod.F90

    r5132 r5134  
    467467    USE tracinca_mod, ONLY: config_inca
    468468    USE config_ocean_skin_m, ONLY: activate_ocean_skin
    469 
    470469    USE lmdz_vertical_layers, ONLY: presnivs
     470    USE lmdz_alpale
    471471
    472472    IMPLICIT NONE
    473473
    474474    INCLUDE "clesphys.h"
    475     INCLUDE "alpale.h"
    476475    INCLUDE "compbl.h"
    477476    INCLUDE "YOMCST.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/physiq_mod.F90

    r5133 r5134  
    350350    USE output_physiqex_mod, ONLY: output_physiqex
    351351    USE lmdz_simu_airs, ONLY: simu_airs
     352    USE lmdz_alpale
    352353
    353354    IMPLICIT NONE
     
    405406    include "dimsoil.h"
    406407    include "clesphys.h"
    407     include "alpale.h"
    408408    include "dimpft.h"
    409409    !======================================================================
  • LMDZ6/branches/Amaury_dev/libf/phylmd/physiqex_mod.F90

    r5117 r5134  
    2222      USE output_physiqex_mod, ONLY: output_physiqex
    2323
    24       IMPLICIT none
     24      IMPLICIT NONE
    2525
    2626! Routine argument:
  • LMDZ6/branches/Amaury_dev/libf/phylmd/qcheck.F90

    r5099 r5134  
    11FUNCTION qcheck(klon,klev,paprs,q,ql,aire)
    2   IMPLICIT none
     2  IMPLICIT NONE
    33
    44  ! Calculer et imprimer l'eau totale. A utiliser pour verifier
  • LMDZ6/branches/Amaury_dev/libf/phylmd/reevap.F90

    r5117 r5134  
    55    USE add_phys_tend_mod, ONLY: fl_cor_ebil
    66   
    7     IMPLICIT none
     7    IMPLICIT NONE
    88    !>======================================================================
    99
  • LMDZ6/branches/Amaury_dev/libf/phylmd/screenp_mod.F90

    r5117 r5134  
    1919                     ustar, testar, qstar, zref, &
    2020                     delu, delte, delq)
    21       IMPLICIT none
     21      IMPLICIT NONE
    2222!-------------------------------------------------------------------------
    2323
     
    126126                     zref, &
    127127                     delu, delte, delq)
    128       IMPLICIT none
     128      IMPLICIT NONE
    129129!-------------------------------------------------------------------------
    130130
  • LMDZ6/branches/Amaury_dev/libf/phylmd/water_int.F90

    r5103 r5134  
    66!=============================================================
    77
    8 IMPLICIT none
     8IMPLICIT NONE
    99
    1010! Arguments
Note: See TracChangeset for help on using the changeset viewer.