Changeset 2334


Ignore:
Timestamp:
Jul 24, 2015, 7:32:31 PM (9 years ago)
Author:
lguez
Message:

Bug fix. maase, pbaru and pbarv cannot be intent(in) in caldyn0
because they are modified in caldyn0 (masse is computed by massdair
and pbaru, pbarv are computed by flumass). Also masse is already
computed in etat0dyn_netcdf, and the difference with the computation
in caldyn0 is the averaging at the poles. If we do not want to lose
this averaging, we should not overwrite masse with an output argument
from caldyn0. So the simplest thing to do is to downgrade masse from
argument to local variable of caldyn0. We also simply downgrade pbaru,
pbarv from arguments to local variables of caldyn0.

Location:
LMDZ5/trunk/libf
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3d_common/caldyn0.F90

    r2293 r2334  
    1 SUBROUTINE caldyn0(itau,ucov,vcov,teta,ps,masse,pk,phis,phi,w,pbaru,pbarv,time)
     1SUBROUTINE caldyn0(itau,ucov,vcov,teta,ps,pk,phis,phi,w,time)
    22!
    33!-------------------------------------------------------------------------------
     
    2020  REAL,    INTENT(IN)  :: teta (ip1jmp1  ,llm)      !--- POTENTIAL TEMPERATURE
    2121  REAL,    INTENT(IN)  :: ps   (ip1jmp1)            !--- GROUND PRESSURE
    22   REAL,    INTENT(IN)  :: masse(ip1jmp1  ,llm)      !--- MASS IN EACH CELL
    2322  REAL,    INTENT(IN)  :: pk   (iip1,jjp1,llm)      !--- PRESSURE
    2423  REAL,    INTENT(IN)  :: phis (ip1jmp1)            !--- GROUND GEOPOTENTIAL
    2524  REAL,    INTENT(IN)  :: phi  (ip1jmp1  ,llm)      !--- 3D GEOPOTENTIAL
    2625  REAL,    INTENT(OUT) :: w    (ip1jmp1  ,llm)      !--- VERTICAL WIND
    27   REAL,    INTENT(IN)  :: pbaru(ip1jmp1  ,llm)      !--- U MASS FLUX
    28   REAL,    INTENT(IN)  :: pbarv(ip1jm    ,llm)      !--- V MASS FLUX
    2926  REAL,    INTENT(IN)  :: time                      !--- TIME
    3027!===============================================================================
    3128! Local variables:
     29  REAL masse(ip1jmp1  ,llm)      !--- MASS IN EACH CELL
     30  REAL pbaru(ip1jmp1  ,llm)      !--- U MASS FLUX
     31  REAL pbarv(ip1jm    ,llm)      !--- V MASS FLUX
    3232  REAL, DIMENSION(ip1jmp1,llmp1) :: p
    3333  REAL, DIMENSION(ip1jmp1,llm)   :: ucont, massebx, ang, ecin, convm, bern
  • LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/etat0dyn_netcdf.F90

    r2331 r2334  
    215215  CALL geopot( ip1jmp1, tpot, pk, pks, phis, phi )
    216216  WRITE(lunout,*)'sortie geopot'
    217   CALL caldyn0( itau, uvent, vvent, tpot, psol, masse, pk, phis,               &
    218                 phi,  w, pbaru, pbarv, time+iday-dayref)
     217  CALL caldyn0( itau, uvent, vvent, tpot, psol, pk, phis,               &
     218                phi,  w, time+iday-dayref)
    219219  WRITE(lunout,*)'sortie caldyn0'     
    220220  CALL dynredem0( "start.nc", dayref, phis)
Note: See TracChangeset for help on using the changeset viewer.