source: LMDZ6/trunk/libf/phylmd/dyn1d/1D_nudge_sandu_astex.h @ 4013

Last change on this file since 4013 was 3594, checked in by fhourdin, 5 years ago

Improvement for SCM standard format

File size: 2.0 KB
Line 
1      do l = 1, llm
2!
3! au dessus de 700hPa, on relaxe vers profil init
4!      on fait l'hypothese que dans ce cas, il n'y a plus d'eau liq. au dessus 700hpa
5!      donc la relaxation en thetal et qt devient relaxation en tempe et qv
6       relax_u(l)=(u(l)-u_mod(l))/tau_sandu  ! pour u et v on relaxe sur tte la colonne
7       relax_v(l)=(v(l)-v_mod(l))/tau_sandu
8       relax_q(l,1)=0.
9       relax_q(l,2)=0.
10       relax_thl(l)=0.
11!      print *,'nudge: l tau_sandu u u_mod',l,tau_sandu,u(l),u_mod(l)
12!
13       if (l.ge.llm700) then
14         relax_q(l,1)=(q(l,1)-q_mod(l))/tau_sandu
15         relax_q(l,2)=0.
16         relax_thl(l)=(temp(l)-t_mod(l))/tau_sandu
17       endif
18!     print *,'l dq1 relax dqadv',l,dq(l,1),relax_q(l,1),d_q_adv(l,1)
19!     print *,'l dq2 relax dqadv',l,dq(l,2),relax_q(l,2),d_q_adv(l,2)
20!     print *,'l dt  relax dtadv',l,dt_phys(l),relax_thl(l),d_t_adv(l)
21      enddo
22
23        u(1:mxcalc)=u(1:mxcalc) + timestep*( du_age(1:mxcalc)+             &         
24     &              du_phys(1:mxcalc) - relax_u(1:mxcalc))
25        v(1:mxcalc)=v(1:mxcalc) + timestep*( dv_age(1:mxcalc)+              &
26     &               dv_phys(1:mxcalc) - relax_v(1:mxcalc))
27        q(1:mxcalc,1)=q(1:mxcalc,1)+timestep*(                              &
28     &      dq(1:mxcalc,1) - relax_q(1:mxcalc,1)+d_q_adv(1:mxcalc,1))
29        q(1:mxcalc,2)=q(1:mxcalc,2)+timestep*(                              &
30     &      dq(1:mxcalc,2) - relax_q(1:mxcalc,2)+d_q_adv(1:mxcalc,2))
31        temp(1:mxcalc)=temp(1:mxcalc)+timestep*(                            &
32     &      dt_phys(1:mxcalc)-relax_thl(1:mxcalc)+d_t_adv(1:mxcalc))
33
34
35        print*,'OLDLMDZ1D IOPH'
36      CALL iophys_ecrit('relax_thl',klev,'relax_thl','m/s',relax_thl)
37      CALL iophys_ecrit('d_t_adv',klev,'d_t_adv','m/s',d_t_adv)
38      CALL iophys_ecrit('temp',klev,'temp','m/s',temp)
39      CALL iophys_ecrit('q',klev,'q','m/s',q(:,1))
40      CALL iophys_ecrit('relax_q',klev,'relax_q','m/s',relax_q(:,1))
41      CALL iophys_ecrit('d_q_adv',klev,'d_q_adv','m/s',d_q_adv(:,1))
42
Note: See TracBrowser for help on using the repository browser.