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_flux2.F90

    r5111 r5116  
    7070    fm(:, :) = 0.
    7171
    72     if (prt_level>=10) then
    73       write(lunout1, *) 'Dans thermcell_flux 0'
    74       write(lunout1, *) 'flux base ', f(igout)
    75       write(lunout1, *) 'lmax ', lmax(igout)
    76       write(lunout1, *) 'lalim ', lalim(igout)
    77       write(lunout1, *) 'ig= ', igout
    78       write(lunout1, *) ' l E*    A*     D*  '
    79       write(lunout1, '(i4,3e15.5)') (l, entr_star(igout, l), alim_star(igout, l), detr_star(igout, l) &
     72    if (prt_level>=10) THEN
     73      WRITE(lunout1, *) 'Dans thermcell_flux 0'
     74      WRITE(lunout1, *) 'flux base ', f(igout)
     75      WRITE(lunout1, *) 'lmax ', lmax(igout)
     76      WRITE(lunout1, *) 'lalim ', lalim(igout)
     77      WRITE(lunout1, *) 'ig= ', igout
     78      WRITE(lunout1, *) ' l E*    A*     D*  '
     79      WRITE(lunout1, '(i4,3e15.5)') (l, entr_star(igout, l), alim_star(igout, l), detr_star(igout, l) &
    8080              , l = 1, lmax(igout))
    8181    endif
     
    9090    check_debug = .false..or.prt_level>=10
    9191
    92     if (check_debug) then
     92    if (check_debug) THEN
    9393      do l = 1, nlay
    9494        do ig = 1, ngrid
    95           if (l<=lmax(ig)) then
    96             if (entr_star(ig, l)>1.) then
     95          if (l<=lmax(ig)) THEN
     96            if (entr_star(ig, l)>1.) THEN
    9797              PRINT*, 'WARNING thermcell_flux 1 ig,l,lmax(ig)', ig, l, lmax(ig)
    9898              PRINT*, 'entr_star(ig,l)', entr_star(ig, l)
     
    101101            endif
    102102          else
    103             if (abs(entr_star(ig, l)) + abs(alim_star(ig, l)) + abs(detr_star(ig, l))>0.) then
     103            if (abs(entr_star(ig, l)) + abs(alim_star(ig, l)) + abs(detr_star(ig, l))>0.) THEN
    104104              PRINT*, 'cas 1 : ig,l,lmax(ig)', ig, l, lmax(ig)
    105105              PRINT*, 'entr_star(ig,l)', entr_star(ig, l)
     
    124124    enddo
    125125
    126     if (prt_level>=10) then
    127       write(lunout1, *) 'Dans thermcell_flux 1'
    128       write(lunout1, *) 'flux base ', f(igout)
    129       write(lunout1, *) 'lmax ', lmax(igout)
    130       write(lunout1, *) 'lalim ', lalim(igout)
    131       write(lunout1, *) 'ig= ', igout
    132       write(lunout1, *) ' l   E    D     W2'
    133       write(lunout1, '(i4,3e15.5)') (l, entr(igout, l), detr(igout, l) &
     126    if (prt_level>=10) THEN
     127      WRITE(lunout1, *) 'Dans thermcell_flux 1'
     128      WRITE(lunout1, *) 'flux base ', f(igout)
     129      WRITE(lunout1, *) 'lmax ', lmax(igout)
     130      WRITE(lunout1, *) 'lalim ', lalim(igout)
     131      WRITE(lunout1, *) 'ig= ', igout
     132      WRITE(lunout1, *) ' l   E    D     W2'
     133      WRITE(lunout1, '(i4,3e15.5)') (l, entr(igout, l), detr(igout, l) &
    134134              , zw2(igout, l + 1), l = 1, lmax(igout))
    135135    endif
     
    138138    do l = 1, nlay
    139139      do ig = 1, ngrid
    140         if (l<lmax(ig)) then
     140        if (l<lmax(ig)) THEN
    141141          fm(ig, l + 1) = fm(ig, l) + entr(ig, l) - detr(ig, l)
    142         elseif(l==lmax(ig)) then
     142        elseif(l==lmax(ig)) THEN
    143143          fm(ig, l + 1) = 0.
    144144          detr(ig, l) = fm(ig, l) + entr(ig, l)
     
    157157    do l = 1, nlay
    158158      do ig = 1, ngrid
    159         if (detr(ig, l)>fm(ig, l)) then
     159        if (detr(ig, l)>fm(ig, l)) THEN
    160160          ncorecfm8 = ncorecfm8 + 1
    161161          !              igout=ig
     
    182182
    183183      do ig = 1, ngrid
    184         if (l<lmax(ig)) then
     184        if (l<lmax(ig)) THEN
    185185          fm(ig, l + 1) = fm(ig, l) + entr(ig, l) - detr(ig, l)
    186         elseif(l==lmax(ig)) then
     186        elseif(l==lmax(ig)) THEN
    187187          fm(ig, l + 1) = 0.
    188188          detr(ig, l) = fm(ig, l) + entr(ig, l)
     
    199199      !     do l=1,nlay
    200200      do ig = 1, ngrid
    201         if (fm(ig, l + 1)<0.) then
     201        if (fm(ig, l + 1)<0.) THEN
    202202          !              PRINT*,'fm1<0',l+1,lmax(ig),fm(ig,l+1)
    203203          ncorecfm1 = ncorecfm1 + 1
     
    209209
    210210      if (prt_level>=10) &
    211               write(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
     211              WRITE(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
    212212                      entr(igout, l), detr(igout, l), fm(igout, l + 1)
    213213
     
    215215      !Test sur fraca croissant
    216216      !-------------------------------------------------------------------------
    217       if (iflag_thermals_optflux==0) then
     217      if (iflag_thermals_optflux==0) THEN
    218218        !     do l=1,nlay
    219219        do ig = 1, ngrid
    220220          if (l>=lalim(ig).and.l<=lmax(ig) &
    221                   .and.(zw2(ig, l + 1)>1.e-10).and.(zw2(ig, l)>1.e-10)) then
     221                  .and.(zw2(ig, l + 1)>1.e-10).and.(zw2(ig, l)>1.e-10)) THEN
    222222            !  zzz est le flux en l+1 a frac constant
    223223            zzz = fm(ig, l) * rhobarz(ig, l + 1) * zw2(ig, l + 1)  &
    224224                    / (rhobarz(ig, l) * zw2(ig, l))
    225             if (fm(ig, l + 1)>zzz) then
     225            if (fm(ig, l + 1)>zzz) THEN
    226226              detr(ig, l) = detr(ig, l) + fm(ig, l + 1) - zzz
    227227              fm(ig, l + 1) = zzz
     
    234234
    235235      if (prt_level>=10) &
    236               write(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
     236              WRITE(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
    237237                      entr(igout, l), detr(igout, l), fm(igout, l + 1)
    238238
     
    241241      !test sur flux de masse croissant
    242242      !-------------------------------------------------------------------------
    243       if (iflag_thermals_optflux==0) then
     243      if (iflag_thermals_optflux==0) THEN
    244244        !     do l=1,nlay
    245245        do ig = 1, ngrid
    246           if ((fm(ig, l + 1)>fm(ig, l)).and.(l>lalim(ig))) then
     246          if ((fm(ig, l + 1)>fm(ig, l)).and.(l>lalim(ig))) THEN
    247247            f_old = fm(ig, l + 1)
    248248            fm(ig, l + 1) = fm(ig, l)
     
    255255
    256256      if (prt_level>=10) &
    257               write(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
     257              WRITE(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
    258258                      entr(igout, l), detr(igout, l), fm(igout, l + 1)
    259259
     
    263263      !-------------------------------------------------------------------------
    264264
    265       if(1==1) then
    266 
     265      IF(1==1) THEN
    267266        !     do l=1,nlay
    268267
    269268        labort_physic = .FALSE.
    270269        do ig = 1, ngrid
    271           if (entr(ig, l)<0.) then
     270          if (entr(ig, l)<0.) THEN
    272271            labort_physic = .TRUE.
    273272            igout = ig
     
    276275        enddo
    277276
    278         if (labort_physic) then
     277        if (labort_physic) THEN
    279278          PRINT*, 'N1 ig,l,entr', igout, lout, entr(igout, lout)
    280279          abort_message = 'entr negatif'
     
    283282
    284283        do ig = 1, ngrid
    285           if (detr(ig, l)>fm(ig, l)) then
     284          if (detr(ig, l)>fm(ig, l)) THEN
    286285            ncorecfm6 = ncorecfm6 + 1
    287286            detr(ig, l) = fm(ig, l)
     
    291290            ! detrainement est plus fort que le flux de masse, on stope le thermique.
    292291            !test:on commente
    293             !               if (l.gt.lalim(ig)) then
     292            !               if (l.gt.lalim(ig)) THEN
    294293            !                  lmax(ig)=l
    295294            !                  fm(ig,l+1)=0.
     
    300299          endif
    301300
    302           if(l>lmax(ig)) then
     301          IF(l>lmax(ig)) THEN
    303302            detr(ig, l) = 0.
    304303            fm(ig, l + 1) = 0.
     
    309308        labort_physic = .FALSE.
    310309        do ig = 1, ngrid
    311           if (entr(ig, l)<0.) then
     310          if (entr(ig, l)<0.) THEN
    312311            labort_physic = .TRUE.
    313312            igout = ig
    314313          endif
    315314        enddo
    316         if (labort_physic) then
     315        if (labort_physic) THEN
    317316          ig = igout
    318317          PRINT*, 'ig,l,lmax(ig)', ig, l, lmax(ig)
     
    328327
    329328      if (prt_level>=10) &
    330               write(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
     329              WRITE(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
    331330                      entr(igout, l), detr(igout, l), fm(igout, l + 1)
    332331
     
    337336      !     do l=1,nlay
    338337      do ig = 1, ngrid
    339         if (fm(ig, l + 1)<0.) then
     338        if (fm(ig, l + 1)<0.) THEN
    340339          detr(ig, l) = detr(ig, l) + fm(ig, l + 1)
    341340          fm(ig, l + 1) = 0.
     
    346345      labort_physic = .FALSE.
    347346      do ig = 1, ngrid
    348         if (detr(ig, l)<0.) then
     347        if (detr(ig, l)<0.) THEN
    349348          labort_physic = .TRUE.
    350349          igout = ig
    351350        endif
    352351      enddo
    353       if (labort_physic) then
     352      if (labort_physic) THEN
    354353        ig = igout
    355354        PRINT*, 'cas 2 : ig,l,lmax(ig)', ig, l, lmax(ig)
     
    362361
    363362      if (prt_level>=10) &
    364               write(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
     363              WRITE(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
    365364                      entr(igout, l), detr(igout, l), fm(igout, l + 1)
    366365
     
    386385      !    do l=1,nlay
    387386      do ig = 1, ngrid
    388         if (zw2(ig, l + 1)>1.e-10) then
     387        if (zw2(ig, l + 1)>1.e-10) THEN
    389388          zfm = rhobarz(ig, l + 1) * zw2(ig, l + 1) * alphamax
    390           if (fm(ig, l + 1) > zfm) then
     389          if (fm(ig, l + 1) > zfm) THEN
    391390            f_old = fm(ig, l + 1)
    392391            fm(ig, l + 1) = zfm
     
    402401
    403402      if (prt_level>=10) &
    404               write(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
     403              WRITE(lunout1, '(i4,4e14.4)') l, masse(igout, l) / ptimestep, &
    405404                      entr(igout, l), detr(igout, l), fm(igout, l + 1)
    406405
     
    418417    !-----------------------------------------------------------------------
    419418
    420     if (1==1) then
     419    if (1==1) THEN
    421420      labort_physic = .FALSE.
    422421      do l = 1, nlay - 1
     
    426425          eee = entr(ig, l) - masse(ig, l) * fomass_max / ptimestep
    427426          ddd = detr(ig, l) - eee
    428           if (eee>0.) then
     427          if (eee>0.) THEN
    429428            ncorecfm3 = ncorecfm3 + 1
    430429            entr(ig, l) = entr(ig, l) - eee
    431             if (ddd>0.) then
     430            if (ddd>0.) THEN
    432431              !   l'entrainement est trop fort mais l'exces peut etre compense par une
    433432              !   diminution du detrainement)
     
    436435              !   l'entrainement est trop fort mais l'exces doit etre compense en partie
    437436              !   par un entrainement plus fort dans la couche superieure
    438               if(l==lmax(ig)) then
     437              IF(l==lmax(ig)) THEN
    439438                detr(ig, l) = fm(ig, l) + entr(ig, l)
    440439              else
    441                 if(l>=lmax(ig).and.0==1) then
     440                IF(l>=lmax(ig).and.0==1) THEN
    442441                  igout = ig
    443442                  lout = l
     
    453452        enddo
    454453      enddo
    455       if (labort_physic) then
     454      if (labort_physic) THEN
    456455        ig = igout
    457456        l = lout
     
    488487
    489488    !IM 090508 beg
    490     !     if (ncorecfm1+ncorecfm2+ncorecfm3+ncorecfm4+ncorecfm5+ncorecalpha > 0 ) then
    491 
     489    !     if (ncorecfm1+ncorecfm2+ncorecfm3+ncorecfm4+ncorecfm5+ncorecalpha > 0 ) THEN
    492490    !         PRINT*,'PB thermcell : on a du coriger ',ncorecfm1,'x fm1',&
    493491    !   &     ncorecfm2,'x fm2',ncorecfm3,'x fm3 et', &
Note: See TracChangeset for help on using the changeset viewer.