Ignore:
Timestamp:
Mar 16, 2026, 3:12:16 PM (6 days ago)
Author:
debatzbr
Message:

Pluto PCM: Fixes for debug mode.
BBT

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.PLUTO/libf/muphypluto/mp2m_clouds.F90

    r4096 r4131  
    581581        ! Equilibrium saturation near the drop:
    582582        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    583         S_eq = exp(min((2._mm_wp*sig*xESP%masmol) / (mm_rgas*mm_temp*xESP%rho_s*drad),30._mm_wp))
     583        where(drad .gt. mm_drad_min)
     584          S_eq = exp(min((2._mm_wp*sig*xESP%masmol) / (mm_rgas*mm_temp*xESP%rho_s*drad),30._mm_wp))
     585        elsewhere
     586          S_eq = exp(min((2._mm_wp*sig*xESP%masmol) / (mm_rgas*mm_temp*xESP%rho_s*mm_drad_min),30._mm_wp))
     587        endwhere
    584588
    585589        ! Gets growth rate:
     
    765769
    766770        ! The knudsen number of the drop:
    767         !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    768         knu(:) = L(:) / drad(:)
     771        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       
     772        where(drad .gt. mm_drad_min)
     773          knu = L / drad
     774        elsewhere
     775          knu = L / mm_drad_min
     776        endwhere
    769777
    770778        ! Slip flow correction:
     
    10951103
    10961104        nz = SIZE(rad)
     1105        alpha = 0._mm_wp
    10971106
    10981107        ! Linear extrapolation of velocity:
     
    11321141          wi = wsettle(mm_play(idx),mm_temp(idx),zi,rhoair_mid,rho(idx),rad(idx))
    11331142          ! ws & wi must be different !
    1134           IF(dabs(wi-ws)/wi <= 1.e-3_mm_wp)  wi=ws/1.001_mm_wp
     1143          IF(wi/=0._mm_wp.AND.dabs(wi-ws)/wi <= 1.e-3_mm_wp)  wi=ws/1.001_mm_wp
    11351144          IF (wi/=0._mm_wp.AND.(ws/wi)>0._mm_wp.AND.(zs-zi)/=0._mm_wp) alpha = dlog(ws/wi)/(zs-zi) ! Alpha < 0 if wi > ws
    11361145          !   -es < argexp < es
     
    11601169            ENDIF
    11611170          ENDIF
    1162           zni = mm_zlev(idx)-dlog(arg1)/alpha
    1163           zns = mm_zlev(idx)-mm_dzlev(idx)-dlog(arg2)/alpha
     1171          IF (alpha /= 0._mm_wp) THEN
     1172            zni = mm_zlev(idx)-dlog(arg1)/alpha
     1173            zns = mm_zlev(idx)-mm_dzlev(idx)-dlog(arg2)/alpha
     1174          ELSE
     1175            zni = mm_zlev(idx)
     1176            zns = mm_zlev(idx)-mm_dzlev(idx)
     1177          ENDIF
    11641178          RETURN
    11651179        ENDIF ! end of ichx
Note: See TracChangeset for help on using the changeset viewer.