Changeset 1546


Ignore:
Timestamp:
May 2, 2016, 11:10:25 AM (9 years ago)
Author:
emillour
Message:

Generic GCM: in local dynamics package

  • bug fix in calfis: wrong array (pw) sent to physics: the transfered mass flux should be on the physics grid, not the dynamics grid. Moreover values at the poles needed to be correctly recomputed.

JL+EM

Location:
trunk/LMDZ.GENERIC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/README

    r1543 r1546  
    12031203   comgeomphy.F90 instead
    12041204
    1205 == 22/04/2016 ==
     1205== 22/04/2016 == EM
    12061206- Updates and cleanup wrt dynamics/physics separation:
    12071207  Removed init_phys_lmdz.F90 and comgeomphy.F90 from phystd;
     
    12111211  Added nrtype.F90 (contains math const. like PI, etc.) in "misc"
    12121212
     1213== 02/05/2016 == JL+EM
     1214- bug fix in calfis: wrong array (pw) sent to physics: the transfered
     1215  mass flux should be on the physics grid, not the dynamics grid.
     1216  Moreover values at the poles needed to be correctly recomputed.
  • trunk/LMDZ.GENERIC/libf/dynphy_lonlat/calfis.F

    r1422 r1546  
    117117      REAL ztfi(ngridmx,llm),zqfi(ngridmx,llm,nqtot)
    118118c
    119       REAL zvervel(ngridmx,llm)
     119!      REAL zvervel(ngridmx,llm)
     120      REAL flxwfi(ngridmx,llm) ! vertical mass flux (kg/s) on physics grid
    120121c
    121122      REAL zdufi(ngridmx,llm),zdvfi(ngridmx,llm)
     
    333334c      (dans la couche llm, on garde la valeur à la limite inférieure llm)
    334335
     336! vertical mass flux
     337      ! tranfer values from dynamics grid to physics grid:
     338      CALL gr_dyn_fi(llm,iip1,jjp1,ngridmx,pw,flxwfi)
     339      ! but mass flux is an extensive variable, so take the sum at the poles
     340      DO l=1,llm
     341        flxwfi(1,l)=sum(pw(1:iim,1,l))
     342        flxwfi(ngridmx,l)=sum(pw(1:iim,jjp1,l))
     343      ENDDO
     344
    335345c   45. champ u:
    336346c   ------------
    337347
    338       DO 50 l=1,llm
    339 
    340          DO 25 j=2,jjm
     348      DO l=1,llm
     349         DO j=2,jjm
    341350            ig0 = 1+(j-2)*iim
    342351            zufi(ig0+1,l)= 0.5 *
    343352     $      ( pucov(iim,j,l)/cu(iim,j) + pucov(1,j,l)/cu(1,j) )
    344             DO 10 i=2,iim
     353            DO i=2,iim
    345354               zufi(ig0+i,l)= 0.5 *
    346355     $         ( pucov(i-1,j,l)/cu(i-1,j) + pucov(i,j,l)/cu(i,j) )
    347 10         CONTINUE
    348 25      CONTINUE
    349 
    350 50    CONTINUE
     356            ENDDO
     357        ENDDO
     358      ENDDO
    351359
    352360
     
    430438     ,     zufi, zvfi,ztfi, zqfi, 
    431439!     ,     zvervel,
    432      ,     pw,
     440     ,     flxwfi,
    433441C - sorties
    434442     s     zdufi, zdvfi, zdtfi, zdqfi,zdpsrf,tracer)
Note: See TracChangeset for help on using the changeset viewer.