Ignore:
Timestamp:
Oct 28, 2019, 5:35:54 PM (5 years ago)
Author:
fhourdin
Message:

Significant progress for the SCM standard format

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_interp_cases.h

    r3592 r3593  
    1111     &       ,nt_cas,nlev_cas                                                               &
    1212     &       ,ts_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    13      &       ,u_cas,v_cas,ug_cas,vg_cas,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas             &
     13     &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
     14     &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     15     &       ,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas                                       &
    1416     &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
    1517     &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
     
    1820     &       ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    1921     &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    20      &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas,vitw_prof_cas,omega_prof_cas    &
     22     &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     23     &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
     24     &       ,vitw_prof_cas,omega_prof_cas                                                  &
    2125     &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
    2226     &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
     
    3034
    3135! vertical interpolation:
    32       CALL interp2_case_vertical(play,nlev_cas,plev_prof_cas                                              &
    33      &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                          &
     36      CALL interp2_case_vertical_std(play,nlev_cas,plev_prof_cas                                              &
     37     &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                       &
    3438     &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
    35      &         ,ug_prof_cas,vg_prof_cas,vitw_prof_cas,omega_prof_cas                                      &
     39     &         ,ug_prof_cas,vg_prof_cas                                                                   &
     40     &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                       &
     41     &         ,vitw_prof_cas,omega_prof_cas                                      &
    3642     &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
    3743     &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
     
    3945!
    4046     &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
    41      &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas,w_mod_cas,omega_mod_cas                         &
     47     &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
     48     &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
     49     &         ,w_mod_cas,omega_mod_cas                                                                   &
    4250     &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
    4351     &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
     
    119127        enddo
    120128      endif
    121 !wind nudging
    122       if (nudging_u.gt.0.) then
    123         do l=1,llm
    124            u(l)=u(l)+timestep*(u_mod_cas(l)-u(l))/(nudge_u)
    125         enddo
    126 !     else
    127 !       do l=1,llm
    128 !          u(l) = u_mod_cas(l)
    129 !       enddo
    130       endif
    131 
    132       if (nudging_v.gt.0.) then
    133         do l=1,llm
    134            v(l)=v(l)+timestep*(v_mod_cas(l)-v(l))/(nudge_v)
    135         enddo
    136 !     else
    137 !       do l=1,llm
    138 !          v(l) = v_mod_cas(l)
    139 !       enddo
    140       endif
    141 
    142       if (nudging_w.gt.0.) then
    143         do l=1,llm
    144            w(l)=w(l)+timestep*(w_mod_cas(l)-w(l))/(nudge_w)
    145         enddo
    146  !    else
    147  !      do l=1,llm
    148  !         w(l) = w_mod_cas(l)
    149  !      enddo
    150       endif
    151 
    152 !nudging of q and temp
    153       if (nudging_t.gt.0.) then
    154         do l=1,llm
    155            temp(l)=temp(l)+timestep*(t_mod_cas(l)-temp(l))/(nudge_t)
    156         enddo
    157       endif
    158       if (nudging_q.gt.0.) then
    159         do l=1,llm
    160            q(l,1)=q(l,1)+timestep*(q_mod_cas(l)-q(l,1))/(nudge_q)
    161         enddo
    162       endif
    163129
    164130      do l = 1, llm
     
    170136       omega2(l)= omega_mod_cas(l)/rg*airefi ! flxmass_w calcule comme ds physiq
    171137
    172        alpha = rd*temp(l)*(1.+(rv/rd-1.)*q(l,1))/play(l)
     138! On effectue la somme du forcage total et de la decomposition
     139! horizontal/vertical en supposant que soit l'un soit l'autre
     140! sont remplis mais jamais les deux
    173141
    174 !calcul advections
    175         d_u_adv(l)=du_mod_cas(l)
    176         d_v_adv(l)=dv_mod_cas(l)
    177         !!! d_t_adv(l)=alpha*omega(l)/rcpd+dt_mod_cas(l)
    178         !d_t_adv(l)=alpha*omega_mod_cas(l)/rcpd+dt_mod_cas(l)
    179         d_t_adv(l)=dt_mod_cas(l)
    180         !print*,'d_t_adv(l) ', alpha,omega_mod_cas(l),rcpd,dt_mod_cas(l)*86400,d_t_adv(l)*86400
    181         d_q_adv(l,1)=dq_mod_cas(l)
     142       d_t_adv(l) = dt_mod_cas(l)+ht_mod_cas(l)+vt_mod_cas(l)
     143       d_q_adv(l,1) = dq_mod_cas(l)+hq_mod_cas(l)+vq_mod_cas(l)
     144       d_q_adv(l,2) = 0.0
     145       d_u_adv(l) = du_mod_cas(l)+hu_mod_cas(l)+vu_mod_cas(l)
     146       d_v_adv(l) = dv_mod_cas(l)+hv_mod_cas(l)+vv_mod_cas(l)
    182147
    183148!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Note: See TracChangeset for help on using the changeset viewer.