Ignore:
Timestamp:
Jan 18, 2013, 4:02:08 PM (12 years ago)
Author:
Laurent Fairhead
Message:

Corrections pour faire tourner les cas twpice et arm_cu


Some corrections for the twpice and arm_cu cases

File:
1 edited

Legend:

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

    r1706 r1713  
    362362      call infotrac_init
    363363
    364       allocate(q(llm,nqtot))
     364      allocate(q(llm,nqtot)) ; q(:,:)=0.
    365365      allocate(dq(llm,nqtot))
    366366      allocate(dq_dyn(llm,nqtot))
     
    674674
    675675!---------------------------------------------------------------------
     676! Listing output for debug prt_level>=1
     677!---------------------------------------------------------------------
     678       if (prt_level>=1) then
     679         print *,' avant physiq : -------- day time ',day,time
     680         write(*,*) 'firstcall,lastcall,phis',
     681     :               firstcall,lastcall,phis
     682         write(*,'(a10,2a4,4a13)') 'BEFOR1 IT=','it','l',
     683     :        'presniv','plev','play','phi'
     684         write(*,'(a10,2i4,4f13.2)') ('BEFOR1 IT= ',it,l,
     685     :         presnivs(l),plev(l),play(l),phi(l),l=1,llm)
     686         write(*,'(a11,2a4,a11,6a8)') 'BEFOR2','it','l',
     687     :         'presniv','u','v','temp','q1','q2','omega2'
     688         write(*,'(a11,2i4,f11.2,5f8.2,e10.2)') ('BEFOR2 IT= ',it,l,
     689     :   presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
     690       endif
     691
     692!---------------------------------------------------------------------
    676693!   Call physiq :
    677694!---------------------------------------------------------------------
    678 
    679        if (prt_level.ge.1) then
    680          print *,' avant physiq : -------- day time ',day,time
    681          print *,' temp ',temp
    682          print *,' u ',u
    683          print *,' q ',q
    684          print *,' omega2 ',omega2
    685        endif
    686 !       call writefield_phy('u', u,llm)
    687695
    688696        call physiq(ngrid,llm,
     
    693701     :              du_phys,dv_phys,dt_phys,dq,dpsrf,
    694702     :              dudyn,PVteta)
    695 !       call writefield_phy('u', u,llm)
    696 
    697703        firstcall=.false.
    698         if (prt_level.ge.1) then
    699           print*,'APRES PHYS'
    700           print *,' temp ',temp
    701           print *,' q ',q
    702           print *,' dq ',dq
    703           print*,'dq_dyn',dq_dyn
    704           print *,' dt_phys ',dt_phys
    705           print *,' dpsrf ',dpsrf
    706           print *,' dudyn ',dudyn
    707           print *,' PVteta',PVteta
     704
     705!---------------------------------------------------------------------
     706! Listing output for debug prt_level>=1
     707!---------------------------------------------------------------------
     708        if (prt_level>=1) then
     709          write(*,'(a11,2a4,4a13)') 'AFTER1 IT=','it','l',
     710     :        'presniv','plev','play','phi'
     711          write(*,'(a11,2i4,4f13.2)') ('AFTER1 it= ',it,l,
     712     :    presnivs(l),plev(l),play(l),phi(l),l=1,llm)
     713          write(*,'(a11,2a4,a11,6a8)') 'AFTER2','it','l',
     714     :         'presniv','u','v','temp','q1','q2','omega2'
     715          write(*,'(a11,2i4,f11.2,5f8.2,e10.2)') ('AFTER2 it= ',it,l,
     716     :    presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
     717          write(*,'(a11,2a4,a11,5a8)') 'AFTER3','it','l',
     718     :         'presniv','du_phys','dv_phys','dt_phys','dq1','dq2'
     719           write(*,'(a11,2i4,f11.2,5f8.2)') ('AFTER3 it= ',it,l,
     720     :      presnivs(l),86400*du_phys(l),86400*dv_phys(l),
     721     :       86400*dt_phys(l),86400*dq(l,1),dq(l,2),l=1,llm)
     722          write(*,*) 'dpsrf',dpsrf
    708723        endif
    709724!---------------------------------------------------------------------
     
    711726!---------------------------------------------------------------------
    712727
    713       fcoriolis=2.*sin(rpi*xlat/180.)*romega
    714 
     728       fcoriolis=2.*sin(rpi*xlat/180.)*romega
    715729       if (forcing_radconv) then
    716730         fcoriolis=0.0
     
    721735
    722736       if (forcing_toga .or. forcing_GCSSold .or. forcing_twpice) then
    723          fcoriolis=0.0
     737         fcoriolis=0.0 ; ug=0. ; vg=0.
    724738       endif
    725739         if(forcing_rico) then
     
    727741        endif
    728742
    729       print*, 'fcoriolis ', fcoriolis, rlat(1)
     743      print*, 'fcoriolis ', fcoriolis, xlat
    730744
    731745        du_age(1:mxcalc)=
     
    733747       dv_age(1:mxcalc)=
    734748     : -fcoriolis*(u(1:mxcalc)-ug(1:mxcalc))
    735 !         call  writefield_phy('dv_age' ,dv_age,llm)
    736 !         call  writefield_phy('du_age' ,du_age,llm)
    737 !         call  writefield_phy('du_phys' ,du_phys,llm)
    738 !         call  writefield_phy('u_tend' ,u,llm)
    739 !         call  writefield_phy('u_g' ,ug,llm)
     749
    740750        u(1:mxcalc)=u(1:mxcalc) + timestep*(
    741751     :              du_phys(1:mxcalc)
Note: See TracChangeset for help on using the changeset viewer.