Changeset 1614


Ignore:
Timestamp:
02/03/12 11:07:08 (6 years ago)
Author:
emillour
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.