Ignore:
Timestamp:
Jan 22, 2014, 10:51:36 AM (11 years ago)
Author:
idelkadi
Message:

Changes concerinng the Hourdin et al. 2002 version of the thermals and
Ayotte cases

calltherm.F90


call to thermcell_2002 modified :
1) iflag_thermals changed from 1 to >= 1000 ; iflag_thermals-1000
controls sub options.
2) thermals w and fraction in output files.

hbtm.F


Singularity in the 1/heat dependency of the Monin Obukov length L when
heat=0. Since 1/L is used rather than L, it is preferable to compute
directly L. There is a dependency in 1/u* then which is treated with a
threshold value.
(+ some cleaning in the syntax).

lmdz1d.F


If nday<0, -nday is used as the total number of time steps of the
simulation.
The option with imposed wtsurf and wqsurf read in lmdz1d.def was not
active anymore.
< IF(.NOT.ok_flux_surf) THEN
changed to

IF(.NOT.ok_flux_surf.or.max(abs(wtsurf),abs(wqsurf))>0.) THEN

before

fsens=-wtsurf*rcpd*rho(1)
flat=-wqsurf*rlvtt*rho(1)

phys_output_write.F90 et phys_local_var_mod.F90


Removing the d_u_ajsb contribution to duthe (same for dv).
Those tendencies are not computed by the model ...
< zx_tmp_fi3d(1:klon,1:klev)=d_u_ajs(1:klon,1:klev)/pdtphys - &
< d_u_ajsb(1:klon,1:klev)/pdtphys
---

zx_tmp_fi3d(1:klon,1:klev)=d_u_ajs(1:klon,1:klev)/pdtphys

! d_u_ajsb(1:klon,1:klev)/pdtphys

thermcell_dq.F90, thermcell_main.F90


Some cleaning

thermcell_old.F


Control by iflag_thermals >= 1000
wa_moy and fraca in outputs
+ cleaning

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phy1d/lmdz1d.F

    r1914 r1943  
    357357c      Le numero du jour est dans "day". L heure est traitee separement.
    358358c      La date complete est dans "daytime" (l'unite est le jour).
    359       fnday=nday
     359      if (nday>0) then
     360         fnday=nday
     361      else
     362         fnday=-nday/float(day_step)
     363      endif
     364
    360365c Special case for arm_cu which lasts less than one day : 53100s !! (MPL 20111026)
    361366      IF(forcing_type .EQ. 61) fnday=53100./86400.
     
    370375      call ymds2ju(annee_ref,mois,day_ref,heure,day)
    371376      day_ini = day
    372       day_end = day_ini + nday
     377      day_end = day_ini + fnday
    373378
    374379      IF (forcing_type .eq.2) THEN
     
    463468!! mpl et jyg le 22/08/2012 :
    464469!!  pour que les cas a flux de surface imposes marchent
    465       IF(.NOT.ok_flux_surf) THEN
     470      IF(.NOT.ok_flux_surf.or.max(abs(wtsurf),abs(wqsurf))>0.) THEN
    466471       fsens=-wtsurf*rcpd*rho(1)
    467472       flat=-wqsurf*rlvtt*rho(1)
    468473       print *,'Flux: ok_flux wtsurf wqsurf',ok_flux_surf,wtsurf,wqsurf
    469474      ENDIF
     475      print*,'Flux sol ',fsens,flat
    470476!!      ok_flux_surf=.false.
    471477!!      fsens=-wtsurf*rcpd*rho(1)
Note: See TracChangeset for help on using the changeset viewer.