[2017] | 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 |
---|
[2019] | 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)) |
---|