Changeset 2565


Ignore:
Timestamp:
Jun 10, 2016, 4:01:28 PM (8 years ago)
Author:
jyg
Message:

Some small improvements to the 1D model:
(1) initialization of pbl_tke (-> 1+1=2);
(2) bug fix concerning nudge_tsoil=y;
(3) possibility of a constant moisture convergence
when forcing_type=0.

Location:
LMDZ5/trunk/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/dyn1d/1DUTILS.h

    r2455 r2565  
    32363236     &           thlpcar(nlev_max),tracer(nlev_max,ntrac)
    32373237
     3238        real height1(nlev_max)
     3239
    32383240        integer, parameter :: ilesfile=1
    32393241        integer :: ierr,k,itrac,nt1,nt2
     
    32453247        read (ilesfile,*) kmax
    32463248        do k=1,kmax
    3247           read (ilesfile,*) height(k),thlprof(k),qtprof (k),               &
     3249          read (ilesfile,*) height1(k),thlprof(k),qtprof (k),               &
    32483250     &                      uprof (k),vprof  (k),e12prof(k)
    32493251        enddo
     
    32613263          read (ilesfile,*) height(k),ugprof(k),vgprof(k),wfls(k),         &
    32623264     &                      dqtdxls(k),dqtdyls(k),dqtdtls(k),thlpcar(k)
     3265        end do
     3266        do k=1,kmax
     3267          if (height(k) .ne. height1(k)) then
     3268            print *, 'fichiers prof.inp et lscale.inp incompatibles :'
     3269            print *, 'les niveaux different : ',k,height1(k), height(k)
     3270            stop
     3271          endif
    32633272        end do
    32643273        close(ilesfile)
  • LMDZ5/trunk/libf/phylmd/dyn1d/1D_interp_cases.h

    r2332 r2565  
    22! $Id$
    33!
     4!---------------------------------------------------------------------
     5! Forcing_LES case: constant dq_dyn
     6!---------------------------------------------------------------------
     7      if (forcing_LES) then
     8        DO l = 1,llm
     9          d_q_adv(l,1) = dq_dyn(l,1)
     10        ENDDO
     11      endif ! forcing_LES
     12!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    413!---------------------------------------------------------------------
    514! Interpolation forcing in time and onto model levels
  • LMDZ5/trunk/libf/phylmd/dyn1d/lmdz1d.F90

    r2465 r2565  
    3333   USE mod_1D_cases_read
    3434   USE mod_1D_amma_read
    35    USE print_control_mod, ONLY: prt_level
     35   USE print_control_mod, ONLY: lunout, prt_level
    3636   USE iniphysiq_mod, ONLY: iniphysiq
    3737   USE mod_const_mpi, ONLY: comm_lmdz
     
    5454#include "fcg_gcssold.h"
    5555!!!#include "fbforcing.h"
     56#include "compbl.h"
    5657
    5758!=====================================================================
     
    242243!---------------------------------------------------------------------
    243244      integer :: k,l,i,it=1,mxcalc
     245      integer :: nsrf
    244246      integer jcode
    245247      INTEGER read_climoz
     
    738740        t_ancien(1,:)=temp(:)
    739741        q_ancien(1,:)=q(:,1)
    740         pbl_tke(:,:,:)=1.e-8
    741         wake_delta_pbl_tke(:,:,:)=0.
     742!jyg<
     743!!        pbl_tke(:,:,:)=1.e-8
     744        pbl_tke(:,:,:)=0.
     745        pbl_tke(:,2,:)=1.e-2
     746        PRINT *, ' pbl_tke dans lmdz1d '
     747       DO nsrf = 1,4
     748         PRINT *,'pbl_tke(1,:,',nsrf,') ',pbl_tke(1,:,nsrf)
     749       ENDDO
     750
     751!>jyg
    742752
    743753        rain_fall=0.
     
    762772        wake_deltaq = 0.
    763773        wake_deltat = 0.
    764         wake_delta_pbl_TKE = 0.
     774        wake_delta_pbl_TKE(:,:,:) = 0.
    765775        delta_tsurf = 0.
    766776        wake_fip = 0.
     
    791801! run_off_lic_0,pbl_tke(:,1:klev,nsrf), zmax0,f0,sig1,w01
    792802! wake_deltat,wake_deltaq,wake_s,wake_cstar,wake_fip,wake_delta_pbl_tke(:,1:klev,nsrf)
     803!
     804! NB2: The content of the startphy.nc file depends on some flags defined in
     805! the ".def" files. However, since conf_phys is not called in lmdz1d.F90, these flags have
     806! to be set at some arbitratry convenient values.
    793807!------------------------------------------------------------------------
    794808!Al1 =============== restart option ==========================
    795809        if (.not.restart) then
     810          iflag_pbl = 5
    796811          call phyredem ("startphy.nc")
    797812        else
     
    10751090!---------------------------------------------------------------------
    10761091
    1077       IF (nudge_tsoil) THEN
     1092      IF (nudge_tsoil .AND. .NOT. lastcall) THEN
    10781093       ftsoil(1,isoil_nudge,:) = ftsoil(1,isoil_nudge,:)                     &
    10791094     &  -timestep/tau_soil_nudge*(ftsoil(1,isoil_nudge,:)-Tsoil_nudge)
  • LMDZ5/trunk/libf/phylmd/physiq_mod.F90

    r2556 r2565  
    11651165
    11661166       CALL phyetat0 ("startphy.nc",clesphy0,tabcntr0)
     1167!jyg<
    11671168       IF (klon_glo==1) THEN
    1168           coefh=0. ; coefm=0. ; pbl_tke=0.
    1169           coefh(:,2,:)=1.e-2 ; coefm(:,2,:)=1.e-2 ; pbl_tke(:,2,:)=1.e-2
    1170           PRINT*,'FH WARNING : lignes a supprimer'
     1169          pbl_tke(:,:,is_ave) = 0.
     1170          DO nsrf=1,nbsrf
     1171            DO k = 1,klev+1
     1172                 pbl_tke(:,k,is_ave) = pbl_tke(:,k,is_ave) &
     1173                     +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
     1174            ENDDO
     1175          ENDDO
     1176!>jyg
    11711177       ENDIF
    11721178       !IM begin
     
    27762782!jyg<
    27772783!
    2778           CALL alpale_th( dtime, lmax_th, t_seri, &
     2784          CALL alpale_th( dtime, lmax_th, t_seri, cell_area, &
    27792785                          cin, s2, n2,  &
    27802786                          ale_bl_trig, ale_bl_stat, ale_bl,  &
Note: See TracChangeset for help on using the changeset viewer.