LMDZ
1D_nudge_sandu_astex.h
Go to the documentation of this file.
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))
do llm!au dessus on relaxe vers profil init!on fait l hypothese que dans ce il n y a plus d eau liq au dessus!donc la relaxation en thetal et qt devient relaxation en tempe et qv l dq1 relax l dq2 relax l dt relax dtadv
!$Id calend INTEGER itaufin INTEGER itau_phy INTEGER day_ref REAL dt
Definition: temps.h:15
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
do llm!au dessus on relaxe vers profil init!on fait l hypothese que dans ce il n y a plus d eau liq au dessus!donc la relaxation en thetal et qt devient relaxation en tempe et qv l dq1 relax dqadv
do llm!au dessus on relaxe vers profil init!on fait l hypothese que dans ce il n y a plus d eau liq au dessus!donc la relaxation en thetal et qt devient relaxation en tempe et qv tau_sandu
do llm!au dessus on relaxe vers profil init!on fait l hypothese que dans ce il n y a plus d eau liq au dessus!donc la relaxation en thetal et qt devient relaxation en tempe et qv u(l)
do llm!au dessus on relaxe vers profil init!on fait l hypothese que dans ce il n y a plus d eau liq au dessus!donc la relaxation en thetal et qt devient relaxation en tempe et qv u_mod(l)!if(l.ge.llm700) then relax_q(l
do llm!au dessus on relaxe vers profil init!on fait l hypothese que dans ce il n y a plus d eau liq au dessus!donc la relaxation en thetal et qt devient relaxation en tempe et qv nudge
real(kind=8), dimension(2, 3), parameter d
do llm!au dessus de