Ignore:
Timestamp:
Oct 13, 2015, 7:28:01 PM (9 years ago)
Author:
jyg
Message:

From MPL:
Correction of some missing initializations in
dyn1D and of two 1D case bugs.

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

Legend:

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

    r2332 r2373  
    5151        real dth_rico(llm)
    5252        real dqh_rico(llm)
    53         real du_age(llm),dv_age(llm)
    5453!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    5554! Declarations specifiques au cas TWPice
  • LMDZ5/trunk/libf/phylmd/dyn1d/lmdz1d.F90

    r2354 r2373  
    177177      real :: d_u_nudge(llm),d_v_nudge(llm)
    178178      real :: du_adv(llm),dv_adv(llm)
     179      real :: du_age(llm),dv_age(llm)
    179180      real :: alpha
    180181      real :: ttt
     
    241242! INITIALIZATIONS
    242243!=====================================================================
     244      du_phys(:)=0.
     245      dv_phys(:)=0.
     246      dt_phys(:)=0.
     247      dt_dyn(:)=0.
     248      dt_cooling(:)=0.
     249      d_th_adv(:)=0.
     250      d_t_nudge(:)=0.
     251      d_u_nudge(:)=0.
     252      d_v_nudge(:)=0.
     253      du_adv(:)=0.
     254      dv_adv(:)=0.
     255      du_age(:)=0.
     256      dv_age(:)=0.
     257     
    243258! Initialization of Common turb_forcing
    244259       dtime_frcg = 0.
     
    566581      plev =ap+bp*psurf
    567582      play = 0.5*(plev(1:llm)+plev(2:llm+1))
    568 !cc      zlay=-rd*300.*log(play/psurf)/rg ! moved after reading profiles
     583      zlay=-rd*300.*log(play/psurf)/rg ! moved after reading profiles
    569584
    570585      IF (forcing_type .eq. 59) THEN
     
    595610
    596611      print*,'mxcalc=',mxcalc
    597       print*,'zlay=',zlay(mxcalc)
     612!     print*,'zlay=',zlay(mxcalc)
    598613      print*,'play=',play(mxcalc)
    599614
     
    924939         d_q_adv=0.0
    925940       endif
     941      print*, 'calcul de fcoriolis ', fcoriolis
    926942
    927943       if (forcing_toga .or. forcing_GCSSold .or. forcing_twpice            &
     
    933949        endif
    934950
    935       print*, 'fcoriolis ', fcoriolis, xlat
    936 
    937         du_age(1:mxcalc)=fcoriolis*(v(1:mxcalc)-vg(1:mxcalc))
     951      print*, 'fcoriolis ', fcoriolis, xlat,mxcalc
     952
     953       du_age(1:mxcalc)=fcoriolis*(v(1:mxcalc)-vg(1:mxcalc))
    938954       dv_age(1:mxcalc)=-fcoriolis*(u(1:mxcalc)-ug(1:mxcalc))
     955       print *,'u-ug=',u-ug
    939956
    940957!!!!!!!!!!!!!!!!!!!!!!!!
     
    943960       sfdt = sin(0.5*fcoriolis*timestep)
    944961       cfdt = cos(0.5*fcoriolis*timestep)
     962       print *,'fcoriolis,sfdt,cfdt,timestep',fcoriolis,sfdt,cfdt,timestep
    945963!
    946964        du_age(1:mxcalc)= -2.*sfdt/timestep*                                &
     
    10021020     &    'physiq-> temp(1),dt_phys(1),d_th_adv(1),dt_cooling(1) ',         &
    10031021     &              temp(1),dt_phys(1),d_th_adv(1),dt_cooling(1)
    1004            print*,du_phys
     1022           print* ,'dv_phys=',dv_phys
     1023           print* ,'dv_age=',dv_age
     1024           print* ,'dv_adv=',dv_adv
     1025           print* ,'d_v_nudge=',d_v_nudge
    10051026           print*, v
    10061027           print*, vg
  • LMDZ5/trunk/libf/phylmd/dyn1d/mod_1D_amma_read.F90

    r2310 r2373  
    479479
    480480! time interpolation:
    481        frac=(time_amma2-timeit)/(time_amma2-time_amma1)
    482        frac=max(frac,0.0)
     481       IF (it_amma1 .EQ. it_amma2) THEN
     482          frac=0.
     483       ELSE
     484          frac=(time_amma2-timeit)/(time_amma2-time_amma1)
     485          frac=max(frac,0.0)
     486       ENDIF
    483487
    484488       lat_prof = lat_amma(it_amma2)                                       &
  • LMDZ5/trunk/libf/phylmd/dyn1d/mod_1D_cases_read.F90

    r2332 r2373  
    11001100
    11011101! time interpolation:
    1102        frac=(time_cas2-timeit)/(time_cas2-time_cas1)
    1103        frac=max(frac,0.0)
     1102       IF (it_cas1 .EQ. it_cas2) THEN
     1103          frac=0.
     1104       ELSE
     1105          frac=(time_cas2-timeit)/(time_cas2-time_cas1)
     1106          frac=max(frac,0.0)
     1107       ENDIF
    11041108
    11051109       lat_prof_cas = lat_cas(it_cas2)                                       &
Note: See TracChangeset for help on using the changeset viewer.