Ignore:
Timestamp:
Jul 28, 2025, 7:23:15 PM (7 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/cv3p2_closure.f90

    r5346 r5791  
    1 
     1MODULE cv3p2_closure_mod
     2  PRIVATE
     3
     4  PUBLIC cv3p2_closure
     5 
     6CONTAINS 
    27
    38SUBROUTINE cv3p2_closure(nloc, ncum, nd, icb, inb, pbase, plcl, p, ph, tv, &
     
    1823  ! **************************************************************
    1924
    20 USE yomcst2_mod_h
    21    USE lmdz_cv_ini, ONLY : alpha,alpha1,beta,flag_wb,minorig,nl,noconv_stop,pbcrit,rrd,wbmax,coef_peel
     25  USE yomcst2_mod_h
     26  USE lmdz_cv_ini, ONLY : alpha,alpha1,beta,flag_wb,minorig,nl,noconv_stop,pbcrit,rrd,wbmax,coef_peel
    2227  USE conema3_mod_h
    2328  USE cvflag_mod_h
    2429  USE print_control_mod, ONLY: prt_level, lunout
    2530  USE yomcst_mod_h
     31  USE cv3_cine_mod, ONLY : cv3_cine
     32  USE cv3_buoy_mod, ONLY : cv3_buoy
    2633IMPLICIT NONE
    2734
     
    100107!!  PARAMETER (sigmax=10.)
    101108
    102   CHARACTER (LEN=20)                                 :: modname = 'cv3p2_closure'
     109  CHARACTER (LEN=20),PARAMETER                       :: modname = 'cv3p2_closure'
    103110  CHARACTER (LEN=80)                                 :: abort_message
    104111
    105   INTEGER,SAVE                                       :: igout=1
    106 !$OMP THREADPRIVATE(igout)
     112  INTEGER,PARAMETER                                  :: igout=1
    107113
    108114 IF (prt_level>=20) print *,' -> cv3p2_closure, Ale ',ale(igout)
     
    161167  ! compute icbmax:
    162168
    163   icbmax = 2
    164   DO il = 1, ncum
    165     icbmax = max(icbmax, icb(il))
    166   END DO
     169!ym break the column independance
     170!ym  icbmax = 2
     171!ym  DO il = 1, ncum
     172!ym    icbmax = max(icbmax, icb(il))
     173!ym  END DO
     174
    167175  ! if(prt.level.GE.20) print*,'cv3p2_closure apres 200'
    168176
    169177  ! update sig and w0 below cloud base:
    170178
    171   DO k = 1, icbmax
    172     DO il = 1, ncum
    173       IF (k<=icb(il)) THEN
    174         sig(il, k) = beta*sig(il, k) - 2.*alpha*buoy(il, icb(il))*buoy(il,icb(il))
    175         sig(il, k) = amax1(sig(il,k), 0.0)
    176         w0(il, k) = beta*w0(il, k)
    177       END IF
     179!ym column independance
     180!ym  DO k = 1, icbmax
     181  DO k = 1, nd
     182    DO il = 1, ncum
     183      IF (k<=MAX(2,icb(il))) THEN
     184        IF (k<=icb(il)) THEN
     185          sig(il, k) = beta*sig(il, k) - 2.*alpha*buoy(il, icb(il))*buoy(il,icb(il))
     186          sig(il, k) = amax1(sig(il,k), 0.0)
     187          w0(il, k) = beta*w0(il, k)
     188        END IF
     189      ENDIF
    178190    END DO
    179191  END DO
     
    361373          supmax0(il) = ((p(il,i)-pzero(il))*asupmax(il,i-1)- &
    362374            (p(il,i-1)-pzero(il))*asupmax(il,i))/(p(il,i)-p(il,i-1))
    363           GO TO 425
     375!ym WARNING : probably bad GOTO branching ===> to check !
     376!ym          GO TO 425
    364377        END IF ! end IF (P(i) ... )
    365378      END IF ! end IF (icb+1 le i le inb)
     
    367380  END DO
    368381
    369 425 CONTINUE
     382!ym bad branching
     383!ym 425 CONTINUE
    370384  IF (prt_level>=20) PRINT *, 'cv3p2_closure apres 425.'
    371385
     
    867881END SUBROUTINE cv3p2_closure
    868882
    869 
     883END MODULE cv3p2_closure_mod
     884
Note: See TracChangeset for help on using the changeset viewer.