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 | c q(1:mxcalc,:)=q(1:mxcalc,:)+timestep*( |
---|
27 | c . dq(1:mxcalc,:) - relax_q(1:mxcalc,:)+ |
---|
28 | c . 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)) |
---|