Ignore:
Timestamp:
Jul 24, 2024, 2:54:37 PM (4 months ago)
Author:
abarral
Message:

rename modules properly lmdz_*
move ismin, ismax, minmax into new lmdz_libmath.f90
(lint) uppercase fortran keywords

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_down.F90

    r5111 r5116  
    4040    real, dimension(ngrid, nlay + 1) :: fup, fdn, fc, fthu, fthd, fthe, fthtot
    4141    real, dimension(ngrid, nlay) :: tracu, tracd, traci, tracold
    42     real :: www, mstar_inv
     42    REAL :: www, mstar_inv
    4343    integer ig, ilay
    4444    real, dimension(ngrid, nlay) :: s1, s2, num !coefficients pour la resolution implicite
    45     integer :: iflag_impl = 1 ! 0 pour explicite, 1 pour implicite "classique", 2 pour implicite avec entrainement et detrainement
     45    INTEGER :: iflag_impl = 1 ! 0 pour explicite, 1 pour implicite "classique", 2 pour implicite avec entrainement et detrainement
    4646
    4747    fdn(:, :) = 0.
     
    6060    num(:, :) = 1.
    6161
    62     if (iflag_thermals_down < 10) then
     62    if (iflag_thermals_down < 10) THEN
    6363      CALL abort_physic("thermcell_updown_dq", &
    6464              'thermcell_down_dq = 0 or >= 10', 1)
     
    7474      do ig = 1, ngrid
    7575        !if ( lmax(ig) > nlay - 2 ) stop "les thermiques montent trop haut"
    76         if (ilay<=lmax(ig) .and. lmax(ig)>1) then
     76        if (ilay<=lmax(ig) .and. lmax(ig)>1) THEN
    7777          fdn(ig, ilay) = fdn(ig, ilay + 1) + edn(ig, ilay) - ddn(ig, ilay)
    78           if (fdn(ig, ilay) + ddn(ig, ilay) > 0.) then
     78          if (fdn(ig, ilay) + ddn(ig, ilay) > 0.) THEN
    7979            www = fdn(ig, ilay + 1) / (fdn(ig, ilay) + ddn(ig, ilay))
    8080          else
     
    9090    do ilay = 1, nlay, 1
    9191      do ig = 1, ngrid
    92         if (ilay<lmax(ig) .and. lmax(ig)>1) then
     92        if (ilay<lmax(ig) .and. lmax(ig)>1) THEN
    9393          fup(ig, ilay + 1) = fup(ig, ilay) + eup(ig, ilay) - dup(ig, ilay)
    94           if (fup(ig, ilay + 1) + dup(ig, ilay) > 0.) then
     94          if (fup(ig, ilay + 1) + dup(ig, ilay) > 0.) THEN
    9595            www = fup(ig, ilay) / (fup(ig, ilay + 1) + dup(ig, ilay))
    9696          else
    9797            www = 0.
    9898          endif
    99           if (ilay == 1) then
     99          if (ilay == 1) THEN
    100100            tracu(ig, ilay) = trac(ig, ilay)
    101101          else
     
    126126    !Boucle pour calculer le flux du traceur flux updraft, flux downdraft, flux compensatoire
    127127    !Methode explicite :
    128     if(iflag_impl==0) then
     128    IF(iflag_impl==0) THEN
    129129      do ilay = 2, nlay, 1
    130130        do ig = 1, ngrid
    131131          !!!!ATTENTION HYPOTHESE de FLUX COMPENSATOIRE DESCENDANT ET DONC comme schema amont on va chercher trac au dessus!!!!!
    132132          !!!! tentative de prise en compte d'un flux compensatoire montant  !!!!
    133           if (fup(ig, ilay) - fdn(ig, ilay) < 0.) then
     133          if (fup(ig, ilay) - fdn(ig, ilay) < 0.) THEN
    134134            CALL abort_physic("thermcell_updown_dq", 'flux compensatoire '&
    135135                    // 'montant, cas non traite par thermcell_updown_dq', 1)
     
    152152
    153153      !!! Reecriture du schéma explicite avec les notations du schéma implicite
    154     else if(iflag_impl==-1) then
    155       write(*, *) 'nouveau schéma explicite !!!'
     154    else IF(iflag_impl==-1) THEN
     155      WRITE(*, *) 'nouveau schéma explicite !!!'
    156156      !!! Calcul de s1
    157157      do ilay = 1, nlay
     
    164164      do ilay = 2, nlay, 1
    165165        do ig = 1, ngrid
    166           if (fup(ig, ilay) - fdn(ig, ilay) < 0.) then
     166          if (fup(ig, ilay) - fdn(ig, ilay) < 0.) THEN
    167167            CALL abort_physic("thermcell_updown_dq", 'flux compensatoire ' &
    168168                    // 'montant, cas non traite par thermcell_updown_dq', 1)
     
    183183      enddo !fin du calculer de la tendance du traceur avec la methode explicite
    184184
    185     else if (iflag_impl==1) then
     185    else if (iflag_impl==1) THEN
    186186      do ilay = 1, nlay
    187187        do ig = 1, ngrid
     
    193193      do ilay = nlay - 1, 1, -1
    194194        do ig = 1, ngrid
    195           if((fup(ig, ilay) - fdn(ig, ilay)) < 0) then
    196             write(*, *) 'flux compensatoire montant, cas non traite par thermcell_updown_dq dans le cas d une resolution implicite, ilay : ', ilay
     195          if((fup(ig, ilay) - fdn(ig, ilay)) < 0) THEN
     196            WRITE(*, *) 'flux compensatoire montant, cas non traite par thermcell_updown_dq dans le cas d une resolution implicite, ilay : ', ilay
    197197            CALL abort_physic("thermcell_updown_dq", "", 1)
    198198          else
     
    271271    do ilay = nlay, 1, -1
    272272      do ig = 1, ngrid
    273         if (ilay<=lmax(ig).and.lmax(ig)>1) then
     273        if (ilay<=lmax(ig).and.lmax(ig)>1) THEN
    274274          edn(ig, ilay) = fact_thermals_down * dup(ig, ilay)
    275275          ddn(ig, ilay) = fact_thermals_down * eup(ig, ilay)
Note: See TracChangeset for help on using the changeset viewer.