source: LMDZ5/branches/testing/libf/phylmd/1D_nudge_sandu_astex.h @ 2056

Last change on this file since 2056 was 2056, checked in by Laurent Fairhead, 10 years ago

Merged trunk changes r1997:2055 into testing branch

File size: 1.7 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_th_adv(l)
21      enddo
22        u(1:mxcalc)=u(1:mxcalc) + timestep*(                                &         
23     &              du_phys(1:mxcalc) - relax_u(1:mxcalc))
24        v(1:mxcalc)=v(1:mxcalc) + timestep*(                                &
25     &               dv_phys(1:mxcalc) - relax_v(1:mxcalc))
26!       q(1:mxcalc,:)=q(1:mxcalc,:)+timestep*(
27!    .              dq(1:mxcalc,:) - relax_q(1:mxcalc,:)+
28!    .              d_q_adv(1:mxcalc,:))
29        q(1:mxcalc,1)=q(1:mxcalc,1)+timestep*(                              &
30     &      dq(1:mxcalc,1) - relax_q(1:mxcalc,1)+d_q_adv(1:mxcalc,1))
31        q(1:mxcalc,2)=q(1:mxcalc,2)+timestep*(                              &
32     &      dq(1:mxcalc,2) - relax_q(1:mxcalc,2)+d_q_adv(1:mxcalc,2))
33        temp(1:mxcalc)=temp(1:mxcalc)+timestep*(                            &
34     &      dt_phys(1:mxcalc)-relax_thl(1:mxcalc)+d_th_adv(1:mxcalc))
Note: See TracBrowser for help on using the repository browser.