Ignore:
Timestamp:
Jul 28, 2025, 7:23:15 PM (6 days ago)
Author:
aborella
Message:

Merge with trunk r5789

Location:
LMDZ6/branches/contrails
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails

  • LMDZ6/branches/contrails/libf/phylmd/cv3p1_closure.f90

    r5618 r5791  
    11
    22! $Id$
     3MODULE cv3p1_closure_mod
     4PRIVATE
     5PUBLIC cv3p1_closure
     6CONTAINS
    37
    48SUBROUTINE cv3p1_closure(nloc, ncum, nd, icb, inb, pbase, plcl, p, ph, tv, &
     
    2428  USE print_control_mod, ONLY: prt_level, lunout
    2529  USE yomcst_mod_h
     30  USE cv3_cine_mod, ONLY : cv3_cine
     31  USE cv3_buoy_mod, ONLY : cv3_buoy
    2632IMPLICIT NONE
    2733
     
    8894!>jyg
    8995
    90   REAL sigmax
    91   PARAMETER (sigmax=0.1)
    92 
    93   CHARACTER (LEN=20) :: modname = 'cv3p1_closure'
     96  REAL,PARAMETER :: sigmax = 0.1
     97
     98  CHARACTER (LEN=20), PARAMETER :: modname = 'cv3p1_closure'
    9499  CHARACTER (LEN=80) :: abort_message
    95100
     
    149154  ! compute icbmax:
    150155
    151   icbmax = 2
    152   DO il = 1, ncum
    153     icbmax = max(icbmax, icb(il))
    154   END DO
     156!ym break the column independance
     157!ym  icbmax = 2
     158!ym  DO il = 1, ncum
     159!ym    icbmax = max(icbmax, icb(il))
     160!ym  END DO
     161
    155162  ! if(prt.level.GE.20) print*,'cv3p1_param apres 200'
    156163
    157164  ! update sig and w0 below cloud base:
    158 
    159   DO k = 1, icbmax
    160     DO il = 1, ncum
    161       IF (k<=icb(il)) THEN
    162         sig(il, k) = beta*sig(il, k) - 2.*alpha*buoy(il, icb(il))*buoy(il, &
    163           icb(il))
    164         sig(il, k) = amax1(sig(il,k), 0.0)
    165         w0(il, k) = beta*w0(il, k)
    166       END IF
     165!ym column independance
     166!ym  DO k = 1, icbmax
     167  DO k = 1, nd
     168    DO il = 1, ncum
     169      IF (k<=MAX(2,icb(il))) THEN
     170        IF (k<=icb(il)) THEN
     171          sig(il, k) = beta*sig(il, k) - 2.*alpha*buoy(il, icb(il))*buoy(il, &
     172            icb(il))
     173          sig(il, k) = amax1(sig(il,k), 0.0)
     174          w0(il, k) = beta*w0(il, k)
     175        END IF
     176      ENDIF
    167177    END DO
    168178  END DO
     
    321331          supmax0(il) = ((p(il,i)-pzero(il))*asupmax(il,i-1)-(p(il, &
    322332            i-1)-pzero(il))*asupmax(il,i))/(p(il,i)-p(il,i-1))
    323           GO TO 425
     333!ym WARNING : probably bad GOTO branching ===> to check !
     334!ym          GO TO 425
    324335        END IF ! end IF (P(i) ... )
    325336      END IF ! end IF (icb+1 le i le inb)
    326337    END DO
    327338  END DO
    328 
    329 425 CONTINUE
     339!ym bad branching
     340!ym 425 CONTINUE
    330341  IF (prt_level>=20) PRINT *, 'cv3p1_param apres 425.'
    331342
     
    772783END SUBROUTINE cv3p1_closure
    773784
    774 
     785END MODULE cv3p1_closure_mod
     786
Note: See TracChangeset for help on using the changeset viewer.