Ignore:
Timestamp:
Jun 20, 2019, 7:07:28 PM (6 years ago)
Author:
aboissinot
Message:

Thermal plume model parameters are now set in callphys.def and (re)add flag to choose between thermcell_dv2 or thermcell_dq to mix horizontal momentum.

Location:
trunk/LMDZ.GENERIC/libf/phystd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/thermcell_dq.F90

    r2143 r2144  
    136136!-------------------------------------------------------------------------------
    137137     
    138       IF (dqimpl==0) THEN
    139          DO l=1,nlay-1
    140             q(:,l) = q(:,l) + (fqa(:,l) - fqa(:,l+1) - fm(:,l) * q(:,l)       &
    141             &      + fm(:,l+1) * q(:,l+1)) * ptimestep / masse(:,l)
    142          ENDDO
    143       ELSEIF (dqimpl==1) THEN
     138      IF (dqimpl) THEN
    144139         DO l=nlay-1,1,-1
    145140            q(:,l) = ( q(:,l) + ptimestep / masse(:,l)                        &
     
    148143         ENDDO
    149144      ELSE
    150          print *, 'ERROR: No corresponding scheme for mixing computations!'
    151          print *, '       dqimpl must be equal to 1, 0 or -1 but'
    152          print *, 'dqimpl =', dqimpl
    153          call abort
     145         DO l=1,nlay-1
     146            q(:,l) = q(:,l) + (fqa(:,l) - fqa(:,l+1) - fm(:,l) * q(:,l)       &
     147            &      + fm(:,l+1) * q(:,l+1)) * ptimestep / masse(:,l)
     148         ENDDO
    154149      ENDIF
    155150     
  • trunk/LMDZ.GENERIC/libf/phystd/thermcell_main.F90

    r2143 r2144  
    424424!-------------------------------------------------------------------------------
    425425     
    426       CALL thermcell_dq(ngrid,nlay,ptimestep,fm0,entr0,detr0,masse,           &
    427       &                 zu,pduadj,zua,lmin)
    428        
    429       CALL thermcell_dq(ngrid,nlay,ptimestep,fm0,entr0,detr0,masse,           &
    430       &                 zv,pdvadj,zva,lmin)
    431      
    432 !      CALL thermcell_dv2(ngrid,nlay,ptimestep,fm0,entr0,detr0,masse,fraca,    &
    433 !      &                  zmax,zmin,pu,pv,pduadj,pdvadj,zua,zva)
     426      IF (dvimpl) THEN
     427         CALL thermcell_dv2(ngrid,nlay,ptimestep,fm0,entr0,detr0,masse,fraca,    &
     428         &                  zmax,zmin,pu,pv,pduadj,pdvadj,zua,zva)
     429      ELSE
     430         CALL thermcell_dq(ngrid,nlay,ptimestep,fm0,entr0,detr0,masse,           &
     431         &                 zu,pduadj,zua,lmin)
     432         CALL thermcell_dq(ngrid,nlay,ptimestep,fm0,entr0,detr0,masse,           &
     433         &                 zv,pdvadj,zva,lmin)
     434      ENDIF
     435     
    434436     
    435437RETURN
  • trunk/LMDZ.GENERIC/libf/phystd/thermcell_mod.F90

    r2143 r2144  
    66! Flags for computations
    77                                                 !  default
    8       INTEGER,SAVE :: dqimpl                     !  1        flag for thermcell_dq version (1 : implicit scheme || 0 : explicit scheme)
     8      LOGICAL,SAVE :: dqimpl                     !  .true.   Flag for thermcell_dq version (True : implicit scheme || False : explicit scheme)
     9      LOGICAL,SAVE :: dvimpl                     !  .false.  Flag for specific u, v mixing (True : thermcell_dv2 || False : thermcell_dq)
    910     
    1011! Physical parameters
     
    6970         RD = r
    7071         
     72         print *, 'Implicit mixing scheme ?'
     73         dqimpl = .true.
     74         call getin_p('dqimpl', dqimpl)
     75         print *, 'dqimpl = ', dqimpl
     76         
     77         print *, 'Use specific horizontal momentum scheme ?'
     78         dvimpl = .false.
     79         call getin_p('dvimpl', dvimpl)
     80         print *, 'dvimpl = ', dvimpl
     81         
    7182         print *, 'Plume aspect ratio ?'
    7283         r_aspect_thermals = 1.
Note: See TracChangeset for help on using the changeset viewer.