Changeset 3658 for trunk


Ignore:
Timestamp:
Feb 27, 2025, 2:53:08 PM (4 months ago)
Author:
emoisan
Message:

Titan physics:
Deal with cases where the production level of simple aerosols is out of the model altitude range.
Intended for mesoscale use, but possible for GCM with minor changes.
EMo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/LMDZ.TITAN/libf/muphytitan/mm_haze.f90 ΒΆ

    r3318 r3658  
    787787    ENDDO
    788788    IF (zprod < 0._mm_wp) THEN
     789! Mesoscale model: production level can be out of model range. EMoi24
     790#ifndef MESOSCALE
    789791      WRITE(*,'(a)') "cannot find aerosols production altitude"
    790792      call EXIT(11)
     793#endif
     794#ifdef MESOSCALE
     795      WRITE(*,*) "Aerosol production level out of model, no production of simple aerosols"
     796#endif
    791797    ENDIF
    792798
    793     dm3s(:)= mm_tx_prod *0.75_mm_wp/mm_pi *mm_dt / mm_rhoaer / 2._mm_wp / mm_dzlev(1:mm_nla) * &
    794              (erf((mm_zlev(1:mm_nla)-zprod)/znorm) - &
    795              erf((mm_zlev(2:mm_nla+1)-zprod)/znorm))
    796     dm0s(:) = dm3s(:)/(mm_rc_prod**3*mm_alpha_s(3._mm_wp))
     799    ! If production level is out of model, set tendencies to 0. EMoi24
     800    IF (zprod < 0._mm_wp) THEN
     801      dm3s(:) = 0.d0
     802      dm0s(:) = 0.d0
     803    ELSE
     804      dm3s(:)= mm_tx_prod *0.75_mm_wp/mm_pi *mm_dt / mm_rhoaer / 2._mm_wp / mm_dzlev(1:mm_nla) * &
     805               (erf((mm_zlev(1:mm_nla)-zprod)/znorm) - &
     806               erf((mm_zlev(2:mm_nla+1)-zprod)/znorm))
     807      dm0s(:) = dm3s(:)/(mm_rc_prod**3*mm_alpha_s(3._mm_wp))
     808    ENDIF
    797809
    798810    IF (mm_var_prod) THEN
Note: See TracChangeset for help on using the changeset viewer.