Changeset 1614


Ignore:
Timestamp:
Feb 3, 2012, 11:07:08 AM (13 years ago)
Author:
Ehouarn Millour
Message:

Correction to enforce having 1+1=2 in the dynamics.
Still not sure why changing surface pressure during dissipation step leads to having 1+1!=2. But clearly there is no reason to recompute polar surface pressure during a dissipation step.
EM

Location:
LMDZ5/trunk/libf
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3d/leapfrog.F

    r1592 r1614  
    221221c   ----------------------------------
    222222
    223    1  CONTINUE
     223   1  CONTINUE ! Matsuno Forward step begins here
    224224
    225225      jD_cur = jD_ref + day_ini - day_ref +                             &
     
    261261      CALL filtreg ( finvmaold ,jjp1, llm, -2,2, .TRUE., 1 )
    262262
    263    2  CONTINUE
     263   2  CONTINUE ! Matsuno backward or leapfrog step begins here
    264264
    265265c-----------------------------------------------------------------------
     
    304304c   --------------------------------
    305305
     306      ! compute geopotential phi()
    306307      CALL geopot  ( ip1jmp1, teta  , pk , pks,  phis  , phi   )
    307308
     
    537538        ENDDO
    538539
    539         DO ij =  1,iim
    540           tppn(ij)  = aire(  ij    ) * ps (  ij    )
    541           tpps(ij)  = aire(ij+ip1jm) * ps (ij+ip1jm)
    542         ENDDO
    543           tpn  = SSUM(iim,tppn,1)/apoln
    544           tps  = SSUM(iim,tpps,1)/apols
    545 
    546         DO ij = 1, iip1
    547           ps(  ij    ) = tpn
    548           ps(ij+ip1jm) = tps
    549         ENDDO
    550 
     540        if (1 == 0) then
     541!!! Ehouarn: lines here 1) kill 1+1=2 in the dynamics
     542!!!                     2) should probably not be here anyway
     543!!! but are kept for those who would want to revert to previous behaviour
     544           DO ij =  1,iim
     545             tppn(ij)  = aire(  ij    ) * ps (  ij    )
     546             tpps(ij)  = aire(ij+ip1jm) * ps (ij+ip1jm)
     547           ENDDO
     548             tpn  = SSUM(iim,tppn,1)/apoln
     549             tps  = SSUM(iim,tpps,1)/apols
     550
     551           DO ij = 1, iip1
     552             ps(  ij    ) = tpn
     553             ps(ij+ip1jm) = tps
     554           ENDDO
     555        endif ! of if (1 == 0)
    551556
    552557      END IF ! of IF(apdiss)
     
    664669
    665670              CLOSE(99)
     671              !!! Ehouarn: Why not stop here and now?
    666672            ENDIF ! of IF (itau.EQ.itaufin)
    667673
  • LMDZ5/trunk/libf/dyn3dpar/leapfrog_p.F

    r1592 r1614  
    244244c et du parallelisme !!
    245245
    246    1  CONTINUE
     246   1  CONTINUE ! Matsuno Forward step begins here
    247247
    248248      jD_cur = jD_ref + day_ini - day_ref +                             &
     
    331331cym      call minmax(ijp1llm,q(:,:,3),zqmin,zqmax)
    332332
    333    2  CONTINUE
     333   2  CONTINUE ! Matsuno backward or leapfrog step begins here
    334334
    335335c$OMP MASTER
     
    559559      call start_timer(timer_caldyn)
    560560
     561      ! compute geopotential phi()
    561562      CALL geopot_p  ( ip1jmp1, teta  , pk , pks,  phis  , phi   )
    562563
     
    11931194c$OMP END DO NOWAIT
    11941195
     1196         if (1 == 0) then
     1197!!! Ehouarn: lines here 1) kill 1+1=2 in the dynamics
     1198!!!                     2) should probably not be here anyway
     1199!!! but are kept for those who would want to revert to previous behaviour
    11951200c$OMP MASTER               
    11961201          DO ij =  1,iim
     
    12031208          ENDDO
    12041209c$OMP END MASTER
    1205         endif
     1210         endif ! of if (1 == 0)
     1211        endif ! of of (pole_nord)
    12061212       
    12071213        if (pole_sud) then
     
    12191225c$OMP END DO NOWAIT
    12201226
     1227         if (1 == 0) then
     1228!!! Ehouarn: lines here 1) kill 1+1=2 in the dynamics
     1229!!!                     2) should probably not be here anyway
     1230!!! but are kept for those who would want to revert to previous behaviour
    12211231c$OMP MASTER               
    12221232          DO ij =  1,iim
     
    12291239          ENDDO
    12301240c$OMP END MASTER
    1231         endif
     1241         endif ! of if (1 == 0)
     1242        endif ! of if (pole_sud)
    12321243
    12331244
Note: See TracChangeset for help on using the changeset viewer.