Changeset 5578 for LMDZ6


Ignore:
Timestamp:
Mar 18, 2025, 11:32:47 AM (5 months ago)
Author:
Laurent Fairhead
Message:

Reindexing the do loop to prevent the matrix index reaching zero and crashing in debug mode.
Gives the same results as previously

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/tropopause_m.f90

    r5344 r5578  
    2020  USE lmdz_reprobus_wrappers, ONLY: itroprep
    2121  USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
     22  USE print_control_mod, ONLY: lunout
    2223
    2324!-------------------------------------------------------------------------------
     
    9394  DO i = 1, klon
    9495    !--- UPPER TROPOPAUSE: |PV|=2PVU POINT STARTING FROM TOP
    95     DO kt=klev-1,1,-1; savkt = kt; IF(ALL(ABS(pvor_cen(i,kt-nadj:kt))<=pv0)) EXIT; END DO
     96!    DO kt=klev-1,1,-1
     97!      savkt = kt
     98!      IF (kt-nadj == 0) THEN
     99!        WRITE(lunout,*)'ABORT_PHYSIC tropopause_m kt= ',kt
     100!        call abort_physic("tropopause_m", " kt = nadj", 1)
     101!      ENDIF
     102!      IF(ALL(ABS(pvor_cen(i,kt-nadj:kt))<=pv0)) THEN
     103!        EXIT
     104!      ENDIF
     105!    END DO
     106    DO kt=klev-1,nadj+1,-1; savkt = kt; IF(ALL(ABS(pvor_cen(i,kt-nadj:kt))<=pv0))  EXIT; END DO
    96107    kt = savkt
    97     IF (kt == 0 ) THEN
    98        call abort_physic("dyn_tropopause", " kt = 1", 1)
    99     ENDIF
    100108    !--- LOWER TROPOPAUSE: |PV|=2PVU POINT STARTING FROM BOTTOM
    101109    DO kb=k0,klev-1;   IF(ALL(ABS(pvor_cen(i,kb:kb+nadj))> pv0)) EXIT; END DO; kb=kb-1
Note: See TracChangeset for help on using the changeset viewer.