source: LMDZ5/branches/IPSLCM5A2.1/libf/phylmd/dyn1d/1D_nudge_sandu_astex.h @ 5024

Last change on this file since 5024 was 2239, checked in by Ehouarn Millour, 10 years ago

Reorganizing physics/dynamics interface:

  • what is related to dynamics-physics interface is now in a seperate directory: dynlmdz_phy* for physics in phy*
  • 1d model and related dependencies (including a couple from "dynamics", set up as symbolic links) is now in subdirectory "dyn1d" of phy*.
  • "bibio" directory is now "misc" and should only contain autonomous utilities.
  • "cosp" is now a subdirectory of phylmd.

EM

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.