Changeset 3680


Ignore:
Timestamp:
May 26, 2020, 8:10:45 AM (4 years ago)
Author:
fhourdin
Message:

Modifications pour le format standard.
Frédéric pour Marie-Pierre
Frédéric

Location:
LMDZ6/trunk/libf/phylmd/dyn1d
Files:
5 edited

Legend:

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

    r3593 r3680  
    3434        real w_mod(llm), t_mod(llm),q_mod(llm)
    3535        real u_mod(llm),v_mod(llm), ht_mod(llm),vt_mod(llm),ug_mod(llm),vg_mod(llm)
    36         real temp_nudg_mod(llm),qv_nudg_mod(llm),u_nudg_mod(llm),v_nudg_mod(llm)
     36        real temp_nudg_mod(llm),qv_nudg_mod(llm),u_nudg_mod(llm),v_nudg_mod(llm)
    3737        real hq_mod(llm),vq_mod(llm),qv_mod(llm),ql_mod(llm),qt_mod(llm)
    3838        real th_mod(llm)
     
    280280!Declarations specifiques au cas standard
    281281
    282         real w_mod_cas(llm), t_mod_cas(llm),q_mod_cas(llm)
    283         real theta_mod_cas(llm),thl_mod_cas(llm),thv_mod_cas(llm)
    284         real qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm)
     282        real plev_mod_cas(llm)
     283        real t_mod_cas(llm),theta_mod_cas(llm),thl_mod_cas(llm),thv_mod_cas(llm)
     284        real qt_mod_cas(llm),qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm),q_mod_cas(llm)
     285        real rt_mod_cas(llm),rv_mod_cas(llm),rl_mod_cas(llm),ri_mod_cas(llm),rh_mod_cas(llm)
    285286        real ug_mod_cas(llm),vg_mod_cas(llm)
    286         real temp_nudg_mod_cas(llm),qv_nudg_mod_cas(llm),v_nudg_mod_cas(llm),u_nudg_mod_cas(llm)
    287         real u_mod_cas(llm),v_mod_cas(llm)
     287        real temp_nudg_mod_cas(llm),th_nudg_mod_cas(llm),thl_nudg_mod_cas(llm)
     288        real qt_nudg_mod_cas(llm),qv_nudg_mod_cas(llm),rt_nudg_mod_cas(llm),rv_nudg_mod_cas(llm)
     289        real u_nudg_mod_cas(llm),v_nudg_mod_cas(llm)
     290        real uadv_mod_cas(llm),vadv_mod_cas(llm)
     291        real qtadv_mod_cas(llm),qvadv_mod_cas(llm)
     292        real rtadv_mod_cas(llm),rvadv_mod_cas(llm)
     293        real tadv_mod_cas(llm),thadv_mod_cas(llm),thladv_mod_cas(llm)
     294        real trad_mod_cas(llm),thrad_mod_cas(llm),thlrad_mod_cas(llm)
     295        real u_mod_cas(llm),v_mod_cas(llm),w_mod_cas(llm)
    288296        real omega_mod_cas(llm)
    289297        real ht_mod_cas(llm),vt_mod_cas(llm),dt_mod_cas(llm),dtrad_mod_cas(llm)
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_interp_cases.h

    r3594 r3680  
    77
    88! time interpolation:
    9         CALL interp_case_time_std(daytime,day1,annee_ref                                       &
    10 !    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    11      &       ,nt_cas,nlev_cas                                                               &
    12      &       ,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                                                     &
    14      &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
    15      &       ,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas                                       &
    16      &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
    17      &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
    18      &       ,uw_cas,vw_cas,q1_cas,q2_cas,tke_cas                                           &
     9        CALL interp_case_time_std(day,day1,annee_ref                                 &
     10     &         ,nt_cas,nlev_cas                                                      &
     11     &         ,ts_cas,ps_cas,ps_forc_cas,plev_cas,ppforc_cas,t_cas,theta_cas,thl_cas&
     12     &         ,qt0_cas,qv0_cas,ql0_cas,qi0_cas                                      &
     13     &         ,rt0_cas,rv0_cas,rl0_cas,ri0_cas,rh0_cas                              &
     14     &         ,u_cas,v_cas,w_cas,omega_cas,ug_cas,vg_cas                            &
     15     &         ,temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qt_nudg_cas,qv_nudg_cas       &
     16     &         ,rt_nudg_cas,rv_nudg_cas,u_nudg_cas,v_nudg_cas                        &
     17     &         ,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas                      &
     18     &         ,qtadv_cas,qvadv_cas,rtadv_cas,rvadv_cas                              &
     19     &         ,trad_cas,thrad_cas,thlrad_cas                                        &
     20     &         ,tke_cas,lat_cas,sens_cas,ustar_cas                                   &
     21     &         ,wpthetap_cas,wpqtp_cas,wpqvp_cas,wprtp_cas,wprvp_cas                 &
    1922!
    20      &       ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    21      &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_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                                                  &
    25      &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
    26      &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
    27      &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
    28      &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
    29      &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tke_prof_cas)
     23     &         ,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,plev_prof_cas,pforc_prof_cas&
     24     &         ,t_prof_cas,th_prof_cas,thl_prof_cas                               &
     25     &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                      &
     26     &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas          &
     27     &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                      &
     28     &         ,ug_prof_cas,vg_prof_cas                                              &
     29     &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                &
     30     &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                    &
     31     &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas    &
     32     &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas&
     33     &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas          &
     34     &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                         &
     35     &         ,tke_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas               &
     36     &         ,wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas)
    3037
    3138             ts_cur = ts_prof_cas
     
    3441
    3542! vertical interpolation:
    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                                       &
    38      &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_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                                      &
    42      &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
    43      &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
    44      &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
     43       CALL interp_case_vertical_std(nlev_cas                                                          &
     44     &         ,plev_prof_cas,t_prof_cas,th_prof_cas,thl_prof_cas                                   &
     45     &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                                        &
     46     &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas                            &
     47     &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                                        &
     48     &         ,ug_prof_cas,vg_prof_cas                                                                &
     49     &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                                  &
     50     &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                                      &
     51     &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                      &
     52     &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas               &
     53     &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas                            &
     54     &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                                           &
    4555!
    46      &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_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                                                                   &
    50      &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
    51      &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
    52      &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
     56     &         ,plev_mod_cas,t_mod_cas,theta_mod_cas,thl_mod_cas                                       &
     57     &         ,qt_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas                                            &
     58     &         ,rt_mod_cas,rv_mod_cas,rl_mod_cas,ri_mod_cas,rh_mod_cas                                 &
     59     &         ,u_mod_cas,v_mod_cas,w_mod_cas,omega_mod_cas                                            &
     60     &         ,ug_mod_cas,vg_mod_cas                                                                  &
     61     &         ,temp_nudg_mod_cas,th_nudg_mod_cas,thl_nudg_mod_cas                                     &
     62     &         ,qt_nudg_mod_cas,qv_nudg_mod_cas                                                        &
     63     &         ,rt_nudg_mod_cas,rv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                          &
     64     &         ,uadv_mod_cas,vadv_mod_cas,tadv_mod_cas,thadv_mod_cas,thladv_mod_cas                    &
     65     &         ,qtadv_mod_cas,qvadv_mod_cas,rtadv_mod_cas,rvadv_mod_cas                                &
     66     &         ,trad_mod_cas,thrad_mod_cas,thlrad_mod_cas)
    5367
    5468
     
    7993      else
    8094         DO l=2,llm-1
    81             IF (omega(l)>0.) THEN
     95            IF (omega(l)>0.) THEN
    8296             d_t_z(l)=(temp(l+1)-temp(l))/(play(l+1)-play(l))
    8397             d_th_z(l)=(teta(l+1)-teta(l))/(play(l+1)-play(l))
     
    8599             d_u_z(l)=(u(l+1)-u(l))/(play(l+1)-play(l))
    86100             d_v_z(l)=(v(l+1)-v(l))/(play(l+1)-play(l))
    87             ELSE
     101            ELSE
    88102             d_t_z(l)=(temp(l-1)-temp(l))/(play(l-1)-play(l))
    89103             d_th_z(l)=(teta(l-1)-teta(l))/(play(l-1)-play(l))
     
    91105             d_u_z(l)=(u(l-1)-u(l))/(play(l-1)-play(l))
    92106             d_v_z(l)=(v(l-1)-v(l))/(play(l-1)-play(l))
    93             ENDIF
    94         ENDDO
     107            ENDIF
     108        ENDDO
    95109      endif
    96110      d_t_z(1)=d_t_z(2)
     
    157171!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    158172         
    159         if (trad.eq.1) then
     173        if (rad_temp.eq.1) then
    160174           tend_rayo=1
    161175           dt_cooling(l) = dtrad_mod_cas(l)
  • LMDZ6/trunk/libf/phylmd/dyn1d/1D_read_forc_cases.h

    r3593 r3680  
    1717         call read_SCM_cas
    1818         write(*,*) 'Forcing read'
    19         print*,'PS ps_cas',ps_cas
     19        print*,'PS ps_cas',ps_cas
    2020
    2121!Time interpolation for initial conditions using interpolation routine
    2222         write(*,*) 'AVT 1ere INTERPOLATION: day,day1 = ',daytime,day1   
    23         CALL interp_case_time_std(daytime,day1,annee_ref                                       &
    24 !    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    25      &       ,nt_cas,nlev_cas                                                               &
    26      &       ,ts_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    27      &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
    28      &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
    29      &       ,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas                                       &
    30      &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
    31      &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
    32      &       ,uw_cas,vw_cas,q1_cas,q2_cas,tke_cas                                           &
     23        CALL interp_case_time_std(day,day1,annee_ref                                 &
     24     &         ,nt_cas,nlev_cas                                                      &
     25     &         ,ts_cas,ps_cas,ps_forc_cas,plev_cas,ppforc_cas,t_cas,theta_cas,thl_cas&
     26     &         ,qt0_cas,qv0_cas,ql0_cas,qi0_cas                                      &
     27     &         ,rt0_cas,rv0_cas,rl0_cas,ri0_cas,rh0_cas                              &
     28     &         ,u_cas,v_cas,w_cas,omega_cas,ug_cas,vg_cas                            &
     29     &         ,temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qt_nudg_cas,qv_nudg_cas       &
     30     &         ,rt_nudg_cas,rv_nudg_cas,u_nudg_cas,v_nudg_cas                        &
     31     &         ,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas                      &
     32     &         ,qtadv_cas,qvadv_cas,rtadv_cas,rvadv_cas                              &
     33     &         ,trad_cas,thrad_cas,thlrad_cas                                        &
     34     &         ,tke_cas,lat_cas,sens_cas,ustar_cas                                   &
     35     &         ,wpthetap_cas,wpqtp_cas,wpqvp_cas,wprtp_cas,wprvp_cas                 &
    3336!
    34      &       ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    35      &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    36      &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
    37      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
    38      &       ,vitw_prof_cas,omega_prof_cas                                                  &
    39      &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
    40      &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
    41      &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
    42      &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
    43      &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tke_prof_cas)
     37     &         ,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,plev_prof_cas,pforc_prof_cas&
     38     &         ,t_prof_cas,th_prof_cas,thl_prof_cas                               &
     39     &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                      &
     40     &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas          &
     41     &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                      &
     42     &         ,ug_prof_cas,vg_prof_cas                                              &
     43     &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                &
     44     &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                    &
     45     &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas    &
     46     &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas&
     47     &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas          &
     48     &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                         &
     49     &         ,tke_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas               &
     50     &         ,wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas)
    4451
    4552      do l = 1, nlev_cas
     
    4956! vertical interpolation using interpolation routine:
    5057!      write(*,*)'avant interp vert', t_prof
    51       CALL interp2_case_vertical_std(play,nlev_cas,plev_prof_cas                                              &
    52      &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                          &
    53      &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
    54      &         ,ug_prof_cas,vg_prof_cas                                                                   &
    55      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                         &
    56 
    57      &         ,vitw_prof_cas,omega_prof_cas                                                              &
    58      &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
    59      &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
    60      &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
     58       CALL interp_case_vertical_std(nlev_cas                                                          &
     59     &         ,plev_prof_cas,t_prof_cas,th_prof_cas,thl_prof_cas                                   &
     60     &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                                        &
     61     &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas                            &
     62     &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                                        &
     63     &         ,ug_prof_cas,vg_prof_cas                                                                &
     64     &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                                  &
     65     &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                                      &
     66     &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                      &
     67     &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas               &
     68     &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas                            &
     69     &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                                           &
    6170!
    62      &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
    63      &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
    64      &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
    65      &         ,w_mod_cas,omega_mod_cas                                                                   &
    66      &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
    67      &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
    68      &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
     71     &         ,plev_mod_cas,t_mod_cas,theta_mod_cas,thl_mod_cas                                       &
     72     &         ,qt_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas                                            &
     73     &         ,rt_mod_cas,rv_mod_cas,rl_mod_cas,ri_mod_cas,rh_mod_cas                                 &
     74     &         ,u_mod_cas,v_mod_cas,w_mod_cas,omega_mod_cas                                            &
     75     &         ,ug_mod_cas,vg_mod_cas                                                                  &
     76     &         ,temp_nudg_mod_cas,th_nudg_mod_cas,thl_nudg_mod_cas                                     &
     77     &         ,qt_nudg_mod_cas,qv_nudg_mod_cas                                                        &
     78     &         ,rt_nudg_mod_cas,rv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                          &
     79     &         ,uadv_mod_cas,vadv_mod_cas,tadv_mod_cas,thadv_mod_cas,thladv_mod_cas                    &
     80     &         ,qtadv_mod_cas,qvadv_mod_cas,rtadv_mod_cas,rvadv_mod_cas                                &
     81     &         ,trad_mod_cas,thrad_mod_cas,thlrad_mod_cas)
    6982
    7083
  • LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.F90

    r3669 r3680  
    99! Discr?tisation
    1010        integer nlev_cas, nt_cas
     11        real zzs_cas,pp_cas
    1112
    1213
    1314!profils environnementaux
    14         real, allocatable::  plev_cas(:,:),plevh_cas(:)
    15         real, allocatable::  ap_cas(:),bp_cas(:)
    16 
    17         real, allocatable::  z_cas(:,:),zh_cas(:)
    18         real, allocatable::  t_cas(:,:),q_cas(:,:),qv_cas(:,:),ql_cas(:,:),qi_cas(:,:),rh_cas(:,:)
    19         real, allocatable::  th_cas(:,:),thv_cas(:,:),thl_cas(:,:),rv_cas(:,:)
    20         real, allocatable::  u_cas(:,:),v_cas(:,:),vitw_cas(:,:),omega_cas(:,:)
    21 
    22 !forcing
    23         real, allocatable::  ht_cas(:,:),vt_cas(:,:),dt_cas(:,:),dtrad_cas(:,:)
    24         real, allocatable::  hth_cas(:,:),vth_cas(:,:),dth_cas(:,:)
    25         real, allocatable::  hq_cas(:,:),vq_cas(:,:),dq_cas(:,:)
    26         real, allocatable::  hr_cas(:,:),vr_cas(:,:),dr_cas(:,:)
    27         real, allocatable::  hu_cas(:,:),vu_cas(:,:),du_cas(:,:)
    28         real, allocatable::  hv_cas(:,:),vv_cas(:,:),dv_cas(:,:)
    29         real, allocatable::  ug_cas(:,:),vg_cas(:,:)
    30         real, allocatable::  temp_nudg_cas(:,:),qv_nudg_cas(:,:),u_nudg_cas(:,:),v_nudg_cas(:,:)
    31         real, allocatable::  lat_cas(:),sens_cas(:),ts_cas(:),ps_cas(:),ustar_cas(:)
    32         real, allocatable::  uw_cas(:,:),vw_cas(:,:),q1_cas(:,:),q2_cas(:,:),tke_cas(:)
     15        real, allocatable::  ppforc_cas(:,:),plev_cas(:,:)
     16
     17!profils initiaux
     18        real, allocatable::  zzforc_cas(:,:)
     19        real, allocatable::  qt0_cas(:),qv0_cas(:),ql0_cas(:),qi0_cas(:),tke_cas(:)
     20        real, allocatable::  rt0_cas(:),rv0_cas(:),rl0_cas(:),ri0_cas(:),rh0_cas(:)
     21        real, allocatable::  temp0_cas(:),theta0_cas(:), thetal0_cas(:)
     22        real, allocatable::  u0_cas(:),v0_cas(:),w_cas(:,:),omega_cas(:,:),ug_cas(:,:), vg_cas(:,:)
     23        real, allocatable::  t_cas(:),theta_cas(:), thl_cas(:),u_cas(:),v_cas(:)
     24!advections et nudging     
     25        real, allocatable::  uadv_cas(:,:),vadv_cas(:,:)
     26        real, allocatable::  tadv_cas(:,:),thadv_cas(:,:),thladv_cas(:,:)
     27        real, allocatable::  qtadv_cas(:,:),qvadv_cas(:,:)
     28        real, allocatable::  rtadv_cas(:,:),rvadv_cas(:,:)
     29        real, allocatable::  trad_cas(:,:),thrad_cas(:,:),thlrad_cas(:,:)
     30        real, allocatable::  temp_nudg_cas(:,:),th_nudg_cas(:,:),thl_nudg_cas(:,:)
     31        real, allocatable::  qv_nudg_cas(:,:),qt_nudg_cas(:,:)
     32        real, allocatable::  rv_nudg_cas(:,:),rt_nudg_cas(:,:)
     33        real, allocatable::  u_nudg_cas(:,:),v_nudg_cas(:,:)
     34! flux     
     35        real, allocatable::  lat_cas(:),sens_cas(:),ustar_cas(:)
     36        real, allocatable::  ts_cas(:),ps_cas(:),ps_forc_cas(:)
     37        real, allocatable::  wpthetap_cas(:),wpqvp_cas(:),wpqtp_cas(:),wprvp_cas(:),wprtp_cas(:)
    3338
    3439!champs interpoles
    3540        real, allocatable::  plev_prof_cas(:)
    36         real, allocatable::  t_prof_cas(:)
    37         real, allocatable::  theta_prof_cas(:)
    38         real, allocatable::  thl_prof_cas(:)
    39         real, allocatable::  thv_prof_cas(:)
    40         real, allocatable::  q_prof_cas(:)
    41         real, allocatable::  qv_prof_cas(:)
    42         real, allocatable::  ql_prof_cas(:)
    43         real, allocatable::  qi_prof_cas(:)
     41        real, allocatable::  plev_forc_prof_cas(:)
     42        real, allocatable::  pforc_prof_cas(:)
     43        real, allocatable::  t_prof_cas(:),th_prof_cas(:),thl_prof_cas(:)
     44        real, allocatable::  qt_prof_cas(:),qv_prof_cas(:),ql_prof_cas(:),qi_prof_cas(:)
    4445        real, allocatable::  rh_prof_cas(:)
    45         real, allocatable::  rv_prof_cas(:)
    46         real, allocatable::  u_prof_cas(:)
    47         real, allocatable::  v_prof_cas(:)       
    48         real, allocatable::  vitw_prof_cas(:)
    49         real, allocatable::  omega_prof_cas(:)
    50         real, allocatable::  ug_prof_cas(:)
    51         real, allocatable::  vg_prof_cas(:)
    52         real, allocatable::  temp_nudg_prof_cas(:),qv_nudg_prof_cas(:),u_nudg_prof_cas(:),v_nudg_prof_cas(:)
    53         real, allocatable::  ht_prof_cas(:)
    54         real, allocatable::  hth_prof_cas(:)
    55         real, allocatable::  hq_prof_cas(:)
    56         real, allocatable::  vt_prof_cas(:)
    57         real, allocatable::  vth_prof_cas(:)
    58         real, allocatable::  vq_prof_cas(:)
    59         real, allocatable::  dt_prof_cas(:)
    60         real, allocatable::  dth_prof_cas(:)
    61         real, allocatable::  dtrad_prof_cas(:)
    62         real, allocatable::  dq_prof_cas(:)
    63         real, allocatable::  hu_prof_cas(:)
    64         real, allocatable::  hv_prof_cas(:)
    65         real, allocatable::  vu_prof_cas(:)
    66         real, allocatable::  vv_prof_cas(:)
    67         real, allocatable::  du_prof_cas(:)
    68         real, allocatable::  dv_prof_cas(:)
    69         real, allocatable::  uw_prof_cas(:)
    70         real, allocatable::  vw_prof_cas(:)
    71         real, allocatable::  q1_prof_cas(:)
    72         real, allocatable::  q2_prof_cas(:)
    73 
    74 
    75         real lat_prof_cas,sens_prof_cas,ts_prof_cas,ps_prof_cas,ustar_prof_cas,tke_prof_cas
    76         real o3_cas,orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,rugos_cas,sand_cas,clay_cas
     46        real, allocatable::  rt_prof_cas(:),rv_prof_cas(:),rl_prof_cas(:),ri_prof_cas(:)
     47        real, allocatable::  u_prof_cas(:),v_prof_cas(:),w_prof_cas(:),omega_prof_cas(:)
     48        real, allocatable::  ug_prof_cas(:),vg_prof_cas(:)
     49        real, allocatable::  uadv_prof_cas(:),vadv_prof_cas(:),tadv_prof_cas(:),thadv_prof_cas(:),thladv_prof_cas(:)
     50        real, allocatable::  qtadv_prof_cas(:),qvadv_prof_cas(:),rtadv_prof_cas(:),rvadv_prof_cas(:)
     51        real, allocatable::  temp_nudg_prof_cas(:), th_nudg_prof_cas(:), thl_nudg_prof_cas(:)
     52        real, allocatable::  qv_nudg_prof_cas(:), qt_nudg_prof_cas(:), rv_nudg_prof_cas(:), rt_nudg_prof_cas(:)
     53        real, allocatable::  u_nudg_prof_cas(:),v_nudg_prof_cas(:)
     54        real, allocatable::  trad_prof_cas(:),thrad_prof_cas(:),thlrad_prof_cas(:)
     55
     56        real lat_prof_cas,sens_prof_cas,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,ustar_prof_cas,tke_prof_cas
     57        real wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas,wpthetap_prof_cas
     58!       real o3_cas,orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,rugos_cas,sand_cas,clay_cas
    7759     
    7860
     
    158140   ENDIF
    159141
    160 
    161142!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    162 !profils moyens:
    163         allocate(plev_cas(nlev_cas,nt_cas),plevh_cas(nlev_cas+1))       
    164         allocate(z_cas(nlev_cas,nt_cas),zh_cas(nlev_cas+1))
    165         allocate(ap_cas(nlev_cas+1),bp_cas(nt_cas+1))
    166         allocate(t_cas(nlev_cas,nt_cas),q_cas(nlev_cas,nt_cas),qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas), &
    167              qi_cas(nlev_cas,nt_cas),rh_cas(nlev_cas,nt_cas))
    168         allocate(th_cas(nlev_cas,nt_cas),thl_cas(nlev_cas,nt_cas),thv_cas(nlev_cas,nt_cas),rv_cas(nlev_cas,nt_cas))
    169         allocate(u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas),vitw_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas))
    170 
    171 !forcing
    172         allocate(ht_cas(nlev_cas,nt_cas),vt_cas(nlev_cas,nt_cas),dt_cas(nlev_cas,nt_cas),dtrad_cas(nlev_cas,nt_cas))
    173         allocate(hq_cas(nlev_cas,nt_cas),vq_cas(nlev_cas,nt_cas),dq_cas(nlev_cas,nt_cas))
    174         allocate(hth_cas(nlev_cas,nt_cas),vth_cas(nlev_cas,nt_cas),dth_cas(nlev_cas,nt_cas))
    175         allocate(hr_cas(nlev_cas,nt_cas),vr_cas(nlev_cas,nt_cas),dr_cas(nlev_cas,nt_cas))
    176         allocate(hu_cas(nlev_cas,nt_cas),vu_cas(nlev_cas,nt_cas),du_cas(nlev_cas,nt_cas))
    177         allocate(hv_cas(nlev_cas,nt_cas),vv_cas(nlev_cas,nt_cas),dv_cas(nlev_cas,nt_cas))
     143        allocate(zzforc_cas(nlev_cas,nt_cas))
     144        allocate(ppforc_cas(nlev_cas,nt_cas))
     145!profils initiaux
     146        allocate(temp0_cas(nlev_cas),theta0_cas(nlev_cas),thetal0_cas(nlev_cas),tke_cas(nlev_cas))
     147        allocate(qt0_cas(nlev_cas),qv0_cas(nlev_cas),ql0_cas(nlev_cas),qi0_cas(nlev_cas),u0_cas(nlev_cas),v0_cas(nlev_cas))
     148        allocate(rt0_cas(nlev_cas),rv0_cas(nlev_cas),rl0_cas(nlev_cas),ri0_cas(nlev_cas),rh0_cas(nlev_cas))
     149        allocate(t_cas(nlev_cas),theta_cas(nlev_cas),thl_cas(nlev_cas),u_cas(nlev_cas),v_cas(nlev_cas))
     150        allocate(w_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas))
    178151        allocate(ug_cas(nlev_cas,nt_cas),vg_cas(nlev_cas,nt_cas))
    179         allocate(temp_nudg_cas(nlev_cas,nt_cas),qv_nudg_cas(nlev_cas,nt_cas))
     152!advections et nudging     
     153        allocate(uadv_cas(nlev_cas,nt_cas),vadv_cas(nlev_cas,nt_cas))
     154        allocate(tadv_cas(nlev_cas,nt_cas),thadv_cas(nlev_cas,nt_cas),thladv_cas(nlev_cas,nt_cas))
     155        allocate(qtadv_cas(nlev_cas,nt_cas),qvadv_cas(nlev_cas,nt_cas))
     156        allocate(rtadv_cas(nlev_cas,nt_cas),rvadv_cas(nlev_cas,nt_cas))
     157        allocate(trad_cas(nlev_cas,nt_cas),thrad_cas(nlev_cas,nt_cas),thlrad_cas(nlev_cas,nt_cas))
     158        allocate(temp_nudg_cas(nlev_cas,nt_cas),th_nudg_cas(nlev_cas,nt_cas),thl_nudg_cas(nlev_cas,nt_cas))
     159        allocate(qv_nudg_cas(nlev_cas,nt_cas),qt_nudg_cas(nlev_cas,nt_cas))
     160        allocate(rv_nudg_cas(nlev_cas,nt_cas),rt_nudg_cas(nlev_cas,nt_cas))
    180161        allocate(u_nudg_cas(nlev_cas,nt_cas),v_nudg_cas(nlev_cas,nt_cas))
    181         allocate(lat_cas(nt_cas),sens_cas(nt_cas),ts_cas(nt_cas),ps_cas(nt_cas),ustar_cas(nt_cas),tke_cas(nt_cas))
    182         allocate(uw_cas(nlev_cas,nt_cas),vw_cas(nlev_cas,nt_cas),q1_cas(nlev_cas,nt_cas),q2_cas(nlev_cas,nt_cas))
    183 
    184 
     162! flux     
     163        allocate(lat_cas(nt_cas),sens_cas(nt_cas),ustar_cas(nt_cas))
     164        allocate(ts_cas(nt_cas),ps_cas(nt_cas),ps_forc_cas(nt_cas))
     165        allocate(wpthetap_cas(nt_cas),wpqvp_cas(nt_cas),wpqtp_cas(nt_cas),wprvp_cas(nt_cas),wprtp_cas(nt_cas))
    185166
    186167!champs interpoles
    187168        allocate(plev_prof_cas(nlev_cas))
    188169        allocate(t_prof_cas(nlev_cas))
    189         allocate(theta_prof_cas(nlev_cas))
     170        allocate(th_prof_cas(nlev_cas))
    190171        allocate(thl_prof_cas(nlev_cas))
    191         allocate(thv_prof_cas(nlev_cas))
    192         allocate(q_prof_cas(nlev_cas))
     172        allocate(qt_prof_cas(nlev_cas))
    193173        allocate(qv_prof_cas(nlev_cas))
    194174        allocate(ql_prof_cas(nlev_cas))
    195175        allocate(qi_prof_cas(nlev_cas))
    196176        allocate(rh_prof_cas(nlev_cas))
     177        allocate(rt_prof_cas(nlev_cas))
    197178        allocate(rv_prof_cas(nlev_cas))
     179        allocate(rl_prof_cas(nlev_cas))
     180        allocate(ri_prof_cas(nlev_cas))
    198181        allocate(u_prof_cas(nlev_cas))
    199182        allocate(v_prof_cas(nlev_cas))
    200         allocate(vitw_prof_cas(nlev_cas))
     183        allocate(w_prof_cas(nlev_cas))
    201184        allocate(omega_prof_cas(nlev_cas))
    202185        allocate(ug_prof_cas(nlev_cas))
    203186        allocate(vg_prof_cas(nlev_cas))
    204         allocate(temp_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas))
     187        allocate(temp_nudg_prof_cas(nlev_cas),th_nudg_prof_cas(nlev_cas),thl_nudg_prof_cas(nlev_cas))
     188        allocate(qt_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas),rt_nudg_prof_cas(nlev_cas),rv_nudg_prof_cas(nlev_cas))
    205189        allocate(u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas))
    206         allocate(ht_prof_cas(nlev_cas))
    207         allocate(hth_prof_cas(nlev_cas))
    208         allocate(hq_prof_cas(nlev_cas))
    209         allocate(hu_prof_cas(nlev_cas))
    210         allocate(hv_prof_cas(nlev_cas))
    211         allocate(vt_prof_cas(nlev_cas))
    212         allocate(vth_prof_cas(nlev_cas))
    213         allocate(vq_prof_cas(nlev_cas))
    214         allocate(vu_prof_cas(nlev_cas))
    215         allocate(vv_prof_cas(nlev_cas))
    216         allocate(dt_prof_cas(nlev_cas))
    217         allocate(dth_prof_cas(nlev_cas))
    218         allocate(dtrad_prof_cas(nlev_cas))
    219         allocate(dq_prof_cas(nlev_cas))
    220         allocate(du_prof_cas(nlev_cas))
    221         allocate(dv_prof_cas(nlev_cas))
    222         allocate(uw_prof_cas(nlev_cas))
    223         allocate(vw_prof_cas(nlev_cas))
    224         allocate(q1_prof_cas(nlev_cas))
    225         allocate(q2_prof_cas(nlev_cas))
    226190
    227191        print*,'Allocations OK'
    228         CALL read_SCM (nid,nlev_cas,nt_cas,                                                                     &
    229      &     ap_cas,bp_cas,z_cas,plev_cas,zh_cas,plevh_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,                   &
    230      &     ql_cas,qi_cas,rh_cas,rv_cas,u_cas,v_cas,vitw_cas,omega_cas,ug_cas,vg_cas,                            &
    231      &     temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas,                                                     &
    232      &     du_cas,hu_cas,vu_cas,                                                                                &
    233      &     dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,               &
    234      &     dr_cas,hr_cas,vr_cas,dtrad_cas,sens_cas,lat_cas,ts_cas,ps_cas,ustar_cas,tke_cas,                      &
    235      &     uw_cas,vw_cas,q1_cas,q2_cas,orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough, &
    236      &     o3_cas,rugos_cas,clay_cas,sand_cas)
     192
     193           CALL read_SCM(nid,nlev_cas,nt_cas,                                                                             &
     194     &     zzs_cas,pp_cas,zzforc_cas,ppforc_cas,temp0_cas,theta0_cas,thetal0_cas,qt0_cas,qv0_cas,ql0_cas,qi0_cas,         &
     195     &     rh0_cas,rt0_cas,rv0_cas,rl0_cas,ri0_cas,                                                                       &
     196     &     u0_cas,v0_cas,w_cas,omega_cas,ug_cas,vg_cas,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas,                   &
     197     &     qvadv_cas,qtadv_cas,rvadv_cas,rtadv_cas,                                                                       &
     198     &     temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qv_nudg_cas,qt_nudg_cas,rv_nudg_cas,rt_nudg_cas,u_nudg_cas,v_nudg_cas,  &
     199     &     trad_cas,thrad_cas,thlrad_cas,tke_cas,sens_cas,lat_cas,ts_cas,ps_cas,ps_forc_cas,ustar_cas,                    &
     200     &     wpthetap_cas,wpqvp_cas,wpqtp_cas,wprvp_cas,wprtp_cas)
     201
    237202        print*,'read_SCM cas OK'
    238203        do ii=1,nlev_cas
    239         print*,'apres read2_SCM, plev_cas=',ii,plev_cas(ii,1)
     204        print*,'apres read2_SCM, plev_cas=',ii,ppforc_cas(ii,1)
    240205        !print*,'apres read_SCM, plev_cas=',ii,omega_cas(ii,nt_cas/2+1)
    241206        enddo
     
    247212!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    248213SUBROUTINE deallocate2_1D_cases
    249 !profils environnementaux:
    250         deallocate(plev_cas,plevh_cas)
    251        
    252         deallocate(z_cas,zh_cas)
    253         deallocate(ap_cas,bp_cas)
    254         deallocate(t_cas,q_cas,qv_cas,ql_cas,qi_cas,rh_cas)
    255         deallocate(th_cas,thl_cas,thv_cas,rv_cas)
    256         deallocate(u_cas,v_cas,vitw_cas,omega_cas)
    257        
    258 !forcing
    259         deallocate(ht_cas,vt_cas,dt_cas,dtrad_cas)
    260         deallocate(hq_cas,vq_cas,dq_cas)
    261         deallocate(hth_cas,vth_cas,dth_cas)
    262         deallocate(hr_cas,vr_cas,dr_cas)
    263         deallocate(hu_cas,vu_cas,du_cas)
    264         deallocate(hv_cas,vv_cas,dv_cas)
    265         deallocate(ug_cas)
    266         deallocate(vg_cas)
    267         deallocate(lat_cas,sens_cas,ts_cas,ps_cas,ustar_cas,tke_cas,uw_cas,vw_cas,q1_cas,q2_cas)
     214
     215      deallocate(zzforc_cas)
     216      deallocate(ppforc_cas)
     217!profils initiaux
     218      deallocate(temp0_cas,theta0_cas,thetal0_cas)
     219      deallocate(qt0_cas,qv0_cas,ql0_cas,qi0_cas,u0_cas,v0_cas)
     220      deallocate(rt0_cas,rv0_cas,rl0_cas,ri0_cas,rh0_cas,tke_cas)
     221      deallocate(t_cas,theta_cas,thl_cas,u_cas,v_cas)
     222      deallocate(w_cas,omega_cas)
     223      deallocate(ug_cas,vg_cas)
     224!advections et nudging     
     225      deallocate(uadv_cas,vadv_cas)
     226      deallocate(tadv_cas,thadv_cas,thladv_cas)
     227      deallocate(qtadv_cas,qvadv_cas)
     228      deallocate(rtadv_cas,rvadv_cas)
     229      deallocate(trad_cas,thrad_cas,thlrad_cas)
     230      deallocate(temp_nudg_cas,th_nudg_cas,thl_nudg_cas)
     231      deallocate(qv_nudg_cas,qt_nudg_cas)
     232      deallocate(rv_nudg_cas,rt_nudg_cas)
     233      deallocate(u_nudg_cas,v_nudg_cas)
     234! flux     
     235      deallocate(lat_cas,sens_cas,ustar_cas)
     236      deallocate(ts_cas,ps_cas,ps_forc_cas)
     237      deallocate(wpthetap_cas,wpqvp_cas,wpqtp_cas,wprvp_cas,wprtp_cas)
    268238
    269239!champs interpoles
    270         deallocate(plev_prof_cas)
    271         deallocate(t_prof_cas)
    272         deallocate(theta_prof_cas)
    273         deallocate(thl_prof_cas)
    274         deallocate(thv_prof_cas)
    275         deallocate(q_prof_cas)
    276         deallocate(qv_prof_cas)
    277         deallocate(ql_prof_cas)
    278         deallocate(qi_prof_cas)
    279         deallocate(rh_prof_cas)
    280         deallocate(rv_prof_cas)
    281         deallocate(u_prof_cas)
    282         deallocate(v_prof_cas)
    283         deallocate(vitw_prof_cas)
    284         deallocate(omega_prof_cas)
    285         deallocate(ug_prof_cas)
    286         deallocate(vg_prof_cas)
    287         deallocate(temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas)
    288         deallocate(ht_prof_cas)
    289         deallocate(hq_prof_cas)
    290         deallocate(hu_prof_cas)
    291         deallocate(hv_prof_cas)
    292         deallocate(vt_prof_cas)
    293         deallocate(vq_prof_cas)
    294         deallocate(vu_prof_cas)
    295         deallocate(vv_prof_cas)
    296         deallocate(dt_prof_cas)
    297         deallocate(dtrad_prof_cas)
    298         deallocate(dq_prof_cas)
    299         deallocate(du_prof_cas)
    300         deallocate(dv_prof_cas)
    301         deallocate(t_prof_cas)
    302         deallocate(u_prof_cas)
    303         deallocate(v_prof_cas)
    304         deallocate(uw_prof_cas)
    305         deallocate(vw_prof_cas)
    306         deallocate(q1_prof_cas)
    307         deallocate(q2_prof_cas)
     240        deallocate (plev_prof_cas)
     241        deallocate (t_prof_cas)
     242        deallocate (th_prof_cas)
     243        deallocate (thl_prof_cas)
     244        deallocate (qt_prof_cas)
     245        deallocate (qv_prof_cas)
     246        deallocate (ql_prof_cas)
     247        deallocate (qi_prof_cas)
     248        deallocate (rh_prof_cas)
     249        deallocate (rt_prof_cas)
     250        deallocate (rv_prof_cas)
     251        deallocate (rl_prof_cas)
     252        deallocate (ri_prof_cas)
     253        deallocate (u_prof_cas)
     254        deallocate (v_prof_cas)
     255        deallocate (w_prof_cas)
     256        deallocate (omega_prof_cas)
     257        deallocate (ug_prof_cas)
     258        deallocate (vg_prof_cas)
     259        deallocate (temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas)
     260        deallocate (qt_nudg_prof_cas,qv_nudg_prof_cas,rt_nudg_prof_cas,rv_nudg_prof_cas)
     261        deallocate (u_nudg_prof_cas,v_nudg_prof_cas)
    308262
    309263END SUBROUTINE deallocate2_1D_cases
     
    311265
    312266!=====================================================================
    313       SUBROUTINE read_SCM(nid,nlevel,ntime,                                       &
    314      &     ap,bp,zz,pp,zzh,pph,temp,theta,thv,thl,qv,ql,qi,rh,rv,u,v,vitw,omega,ug,vg,&
    315      &     temp_nudg,qv_nudg,u_nudg,v_nudg,                                        &
    316      &     du,hu,vu,dv,hv,vv,dt,ht,vt,dq,hq,vq,                                    &
    317      &     dth,hth,vth,dr,hr,vr,dtrad,sens,flat,ts,ps,ustar,tket,uw,vw,q1,q2,       &
    318      &     orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,          &
    319      &     heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas)
    320 
    321 !program reading forcing of the case study
     267      SUBROUTINE read_SCM(nid,nlevel,ntime,                                                 &
     268     &     zzs,pp,zzforc,ppforc,temp0,theta0,thetal0,qt0,qv0,ql0,qi0,rh0,rt0,rv0,rl0,ri0,    &
     269     &     u0,v0,w,omega,ug,vg,uadv,vadv,tadv,thadv,thladv,qvadv,qtadv,rvadv,rtadv,         &
     270     &     temp_nudg,th_nudg,thl_nudg,qv_nudg,qt_nudg,rv_nudg,rt_nudg,u_nudg,v_nudg,        &
     271     &     trad,thrad,thlrad,tke,sens,flat,ts,ps,ps_forc,ustar,                              &
     272     &     wpthetap,wpqvp,wpqtp,wprvp,wprtp)
     273
     274!program reading forcing of the case study   
    322275      implicit none
    323276#include "netcdf.inc"
    324 #include "compar1d.h"
     277#include "compar1d_std.h"
    325278
    326279      integer ntime,nlevel,k,t
    327280
    328       real ap(nlevel+1),bp(nlevel+1)
    329       real zz(nlevel,ntime),zzh(nlevel+1)
    330       real pp(nlevel,ntime),pph(nlevel+1)
     281      real zzs,zzforc(nlevel,ntime)
     282      real pp,ppforc(nlevel,ntime)
    331283!profils initiaux
    332       real temp0(nlevel),qv0(nlevel),ql0(nlevel),qi0(nlevel),u0(nlevel),v0(nlevel),tke0(nlevel)
    333       real pp0(nlevel)   
    334       real temp(nlevel,ntime),qv(nlevel,ntime),ql(nlevel,ntime),qi(nlevel,ntime),rh(nlevel,ntime)
    335       real theta(nlevel,ntime),thv(nlevel,ntime),thl(nlevel,ntime),rv(nlevel,ntime)
    336       real u(nlevel,ntime),v(nlevel,ntime),tket(ntime)
    337       real temp_nudg(nlevel,ntime),qv_nudg(nlevel,ntime),u_nudg(nlevel,ntime),v_nudg(nlevel,ntime)
     284      real temp0(nlevel),theta0(nlevel),thetal0(nlevel),tke(nlevel)
     285      real temp(nlevel,ntime),qv(nlevel,ntime),ql(nlevel,ntime),qi(nlevel,ntime),u(nlevel,ntime),v(nlevel,ntime)
     286      real qt0(nlevel),qv0(nlevel),ql0(nlevel),qi0(nlevel),u0(nlevel),v0(nlevel)
     287      real rt0(nlevel),rv0(nlevel),rl0(nlevel),ri0(nlevel),rh0(nlevel)
     288      real w(nlevel,ntime),omega(nlevel,ntime)
    338289      real ug(nlevel,ntime),vg(nlevel,ntime)
    339       real vitw(nlevel,ntime),omega(nlevel,ntime)
    340       real du(nlevel,ntime),hu(nlevel,ntime),vu(nlevel,ntime)
    341       real dv(nlevel,ntime),hv(nlevel,ntime),vv(nlevel,ntime)
    342       real dt(nlevel,ntime),ht(nlevel,ntime),vt(nlevel,ntime)
    343       real dtrad(nlevel,ntime)
    344       real dq(nlevel,ntime),hq(nlevel,ntime),vq(nlevel,ntime)
    345       real dth(nlevel,ntime),hth(nlevel,ntime),vth(nlevel,ntime),hthl(nlevel,ntime)
    346       real dr(nlevel,ntime),hr(nlevel,ntime),vr(nlevel,ntime)
     290!advections et nudging     
     291      real uadv(nlevel,ntime),vadv(nlevel,ntime)
     292      real tadv(nlevel,ntime),thadv(nlevel,ntime),thladv(nlevel,ntime)
     293      real qtadv(nlevel,ntime),qvadv(nlevel,ntime)
     294      real rtadv(nlevel,ntime),rvadv(nlevel,ntime)
     295      real trad(nlevel,ntime),thrad(nlevel,ntime),thlrad(nlevel,ntime)
     296      real temp_nudg(nlevel,ntime),th_nudg(nlevel,ntime),thl_nudg(nlevel,ntime)
     297      real qv_nudg(nlevel,ntime),qt_nudg(nlevel,ntime)
     298      real rv_nudg(nlevel,ntime),rt_nudg(nlevel,ntime)
     299      real u_nudg(nlevel,ntime),v_nudg(nlevel,ntime)
     300! flux     
    347301      real flat(ntime),sens(ntime),ustar(ntime)
    348       real uw(nlevel,ntime),vw(nlevel,ntime),q1(nlevel,ntime),q2(nlevel,ntime)
    349       real ts(ntime),ps(ntime)
    350       real orog_cas,albedo_cas,emiss_cas,t_skin_cas,q_skin_cas,mom_rough,heat_rough,o3_cas,rugos_cas,clay_cas,sand_cas
    351       real apbp(nlevel+1),resul(nlevel,ntime),resul1(nlevel),resul2(ntime),resul3
     302      real ts(ntime),ps(ntime),ps_forc(ntime)
     303      real wpthetap(ntime),wpqvp(ntime),wpqtp(ntime),wprtp(ntime),wprvp(ntime)
     304      real resul(nlevel,ntime),resul1(nlevel),resul2(ntime),resul3
    352305
    353306
    354307      integer nid, ierr,ierr1,ierr2,rid,i
    355308      integer nbvar3d
    356       parameter(nbvar3d=74)
     309      parameter(nbvar3d=55)
    357310      integer var3didin(nbvar3d),missing_var(nbvar3d)
    358       character*13 name_var(1:nbvar3d)
     311      character*14 name_var(1:nbvar3d)
    359312
    360313
    361314      data name_var/ &
    362      ! coordonnees pression (n+1 niveaux) #4
    363      & 'coor_par_a','coor_par_b','height_h','pressure_h',& ! #1-#4
    364      ! coordonnees pression (n niveaux) #8
    365      &'temp','qv','ql','qi','u','v','tke','pressure',& ! #5-#12
    366      ! coordonnees pression + temps #42
    367      &'w','omega','ug','vg','uadv','uadvh','uadvv','vadv','vadvh','vadvv','tadv','tadvh','tadvv',& !  #13 - #25
    368      &'qvadv','qvadvh','qvadvv','thadv','thadvh','thadvv','thladvh',                             & ! #26 - #32
    369      & 'radv','radvh','radvv','radcool','q1','q2','ustress','vstress',                           & ! #33 - #40
    370      & 'rh','temp_nudging','qv_nudging','u_nudging','v_nudging',                                       & ! #41-45
    371      &'height_f','pressure_forc','tempt','theta','thv','thl','qvt','qlt','qit','rv','ut','vt',   & ! #46-58
    372      ! coordonnees temps #12
    373      &'tket','sfc_sens_flx','sfc_lat_flx','ts','ps','ustar',&
    374      &'orog','albedo','emiss','t_skin','q_skin','mom_rough','heat_rough',&
    375      ! scalaires #4
    376      &'o3','rugos','clay','sand'/
     315     ! coordonnees pression (n niveaux) profils intiaux #1-#15
     316     & 'qt','qv','ql','qi','rt','rv','rl','ri',                                                   &
     317     & 'rh','temp','theta','thetal','u','v','tke',                                                &
     318     ! coordonnees pression (n niveaux) + temps #16-#42
     319     & 'height_forc','pressure_forc','w','omega','ug','vg','u_adv','v_adv',                       &
     320     & 'temp_adv','theta_adv','thetal_adv','qt_adv','qv_adv','rt_adv','rv_adv',                   &
     321     & 'temp_rad','theta_rad','thetal_rad','temp_nudging','theta_nudging','thetal_nudging',       &
     322     & 'qv_nudging','qt_nudging','rv_nudging','rt_nudging','u_nudging','v_nudging',               &
     323     ! coordonnees temps #43-#53
     324     & 'sfc_sens_flx','sfc_lat_flx','ts','ps','ps_forc','ustar',                                  &
     325     & 'wpthetap','wpqvp','wpqtp','wprtp','wprvp',                                                &             
     326     ! scalaires #54-55
     327     & 'height','pressure'/
    377328
    378329!-----------------------------------------------------------------------
     
    394345!-----------------------------------------------------------------------
    395346if ( 1 == 1 ) THEN
    396             if ( name_var(i) == 'temp_nudaing' .and. nint(nudging_t)==0) stop 'Nudging inconsistency temp'
     347            if ( name_var(i) == 'temp_nudging' .and. nint(nudging_temp)==0) stop 'Nudging inconsistency temp'
     348            if ( name_var(i) == 'theta_nudging' .and. nint(nudging_theta)==0) stop 'Nudging inconsistency theta'
     349            if ( name_var(i) == 'thetal_nudging' .and. nint(nudging_thetal)==0) stop 'Nudging inconsistency thetal'
    397350            if ( name_var(i) == 'qv_nudging' .and. nint(nudging_qv)==0) stop 'Nudging inconsistency qv'
     351            if ( name_var(i) == 'qt_nudging' .and. nint(nudging_qt)==0) stop 'Nudging inconsistency qt'
     352            if ( name_var(i) == 'rv_nudging' .and. nint(nudging_rv)==0) stop 'Nudging inconsistency rv'
     353            if ( name_var(i) == 'rt_nudging' .and. nint(nudging_rt)==0) stop 'Nudging inconsistency rt'
    398354            if ( name_var(i) == 'u_nudging' .and. nint(nudging_u)==0) stop 'Nudging inconsistency u'
    399355            if ( name_var(i) == 'v_nudging' .and. nint(nudging_u)==0) stop 'Nudging inconsistency v'
     
    403359
    404360!-----------------------------------------------------------------------
    405 ! Reading variables 1D (N+1) vertical variables (nlevelp1,lat,lon)
    406 !-----------------------------------------------------------------------
    407            if(i.LE.4) then
    408 #ifdef NC_DOUBLE
    409            ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),apbp)
    410 #else
    411            ierr = NF_GET_VAR_REAL(nid,var3didin(i),apbp)
    412 #endif
    413            print *,'read2_cas(apbp), on a lu ',i,name_var(i)
    414            if(ierr/=NF_NOERR) then
    415               print *,'Pb a la lecture de cas.nc: ',name_var(i)
    416               stop "getvarup"
    417            endif
    418 
    419 !-----------------------------------------------------------------------
    420361!  Reading 1D (N) vertical varialbes    (nlevel,lat,lon)   
    421362!-----------------------------------------------------------------------
    422            else if(i.gt.4.and.i.LE.12) then 
     363           if(i.LE.15) then
    423364#ifdef NC_DOUBLE
    424365           ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul1)
     
    437378!  TBD : seems to be the same as above.
    438379!-----------------------------------------------------------------------
    439            else if(i.gt.12.and.i.LE.57) then
     380           else if(i.ge.16.and.i.LE.42) then
    440381#ifdef NC_DOUBLE
    441382           ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul)
     
    453394!  Reading 1D time variables (time,lat,lon)
    454395!-----------------------------------------------------------------------
    455            else if (i.gt.57.and.i.LE.63) then
     396           else if (i.gt.43.and.i.LE.53) then
    456397#ifdef NC_DOUBLE
    457398           ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul2)
     
    465406           endif
    466407         print*,'Lecture de la variable #i  ',i,name_var(i),minval(resul2),maxval(resul2)
    467 
    468 !-----------------------------------------------------------------------
    469 ! Reading scalar variables (lat,lon)
     408!-----------------------------------------------------------------------
     409! Reading scalar variables (t0,lat,lon)
    470410!-----------------------------------------------------------------------
    471411           else
     
    488428!-----------------------------------------------------------------------
    489429         select case(i)
    490          !case(1) ; ap=apbp       ! donnees indexees en nlevel+1
    491          ! case(2) ; bp=apbp
    492            case(3) ; zzh=apbp
    493            case(4) ; pph=apbp
    494            case(5) ; temp0=resul1    ! donnees initiales
    495            case(6) ; qv0=resul1
    496            case(7) ; ql0=resul1
    497            case(8) ; qi0=resul1
    498            case(9) ; u0=resul1
    499            case(10) ; v0=resul1
    500            case(11) ; tke0=resul1
    501            case(12) ; pp0=resul1
    502            case(13) ; vitw=resul    ! donnees indexees en nlevel,time
    503            case(14) ; omega=resul
    504            case(15) ; ug=resul
    505            case(16) ; vg=resul
    506            case(17) ; du=resul
    507            case(18) ; hu=resul
    508            case(19) ; vu=resul
    509            case(20) ; dv=resul
    510            case(21) ; hv=resul
    511            case(22) ; vv=resul
    512            case(23) ; dt=resul
    513            case(24) ; ht=resul
    514            case(25) ; vt=resul
    515            case(26) ; dq=resul
    516            case(27) ; hq=resul
    517            case(28) ; vq=resul
    518            case(29) ; dth=resul
    519            case(30) ; hth=resul
    520            case(31) ; vth=resul
    521            case(32) ; hthl=resul
    522            case(33) ; dr=resul
    523            case(34) ; hr=resul
    524            case(35) ; vr=resul
    525            case(36) ; dtrad=resul
    526            case(37) ; q1=resul
    527            case(38) ; q2=resul
    528            case(39) ; uw=resul
    529            case(40) ; vw=resul
    530            case(41) ; rh=resul
    531            case(42) ; temp_nudg=resul
    532            case(43) ; qv_nudg=resul
    533            case(44) ; u_nudg=resul
    534            case(45) ; v_nudg=resul
    535            case(46) ; zz=resul      ! donnees en time,nlevel pour profil initial
    536            case(47) ; pp=resul
    537            case(48) ; temp=resul
    538            case(49) ; theta=resul
    539            case(50) ; thv=resul
    540            case(51) ; thl=resul
    541            case(52) ; qv=resul
    542            case(53) ; ql=resul
    543            case(54) ; qi=resul
    544            case(55) ; rv=resul
    545            case(56) ; u=resul
    546            case(57) ; v=resul
    547            case(58) ; tket=resul2   ! donnees indexees en time
    548            case(59) ; sens=resul2
    549            case(60) ; flat=resul2
    550            case(61) ; ts=resul2
    551            case(62) ; ps=resul2
    552            case(63) ; ustar=resul2
    553            case(64) ; orog_cas=resul3      ! constantes
    554            case(65) ; albedo_cas=resul3
    555            case(66) ; emiss_cas=resul3
    556            case(67) ; t_skin_cas=resul3
    557            case(68) ; q_skin_cas=resul3
    558            case(69) ; mom_rough=resul3
    559            case(70) ; heat_rough=resul3
    560            case(71) ; o3_cas=resul3       
    561            case(72) ; rugos_cas=resul3
    562            case(73) ; clay_cas=resul3
    563            case(74) ; sand_cas=resul3
     430           case(1) ; qt0         =resul1
     431           case(2) ; qv0         =resul1   
     432           case(3) ; ql0         =resul1
     433           case(4) ; qi0         =resul1
     434           case(5) ; rt0         =resul1
     435           case(6) ; rv0         =resul1
     436           case(7) ; rl0         =resul1
     437           case(8) ; ri0         =resul1
     438           case(9) ; rh0         =resul1
     439           case(10) ; temp0      =resul1
     440           case(11) ; theta0     =resul1
     441           case(12) ; thetal0    =resul1
     442           case(13) ; u0         =resul1
     443           case(14) ; v0         =resul1
     444           case(15) ; tke        =resul1       
     445           case(16) ; zzforc     =resul        ! donnees indexees en nlevel,time
     446           case(17) ; ppforc     =resul
     447           case(18) ; w          =resul
     448           case(19) ; omega      =resul
     449           case(20) ; ug         =resul
     450           case(21) ; vg         =resul
     451           case(22) ; uadv       =resul
     452           case(23) ; vadv       =resul
     453           case(24) ; tadv       =resul
     454           case(25) ; thadv      =resul
     455           case(26) ; thladv     =resul
     456           case(27) ; qtadv      =resul
     457           case(28) ; qvadv      =resul
     458           case(29) ; rtadv      =resul
     459           case(30) ; rvadv      =resul
     460           case(31) ; trad       =resul
     461           case(32) ; thrad      =resul
     462           case(33) ; thlrad     =resul
     463           case(34) ; temp_nudg  =resul
     464           case(35) ; th_nudg    =resul
     465           case(36) ; thl_nudg   =resul
     466           case(37) ; qv_nudg    =resul
     467           case(38) ; qt_nudg    =resul
     468           case(39) ; rv_nudg    =resul
     469           case(40) ; rt_nudg    =resul
     470           case(41) ; u_nudg     =resul
     471           case(42) ; v_nudg     =resul
     472           case(43) ; sens       =resul2        ! donnees indexees en time seulement
     473           case(44) ; flat       =resul2     
     474           case(45) ; ts         =resul2
     475           case(46) ; ps         =resul2
     476           case(47) ; ps_forc    =resul2
     477           case(48) ; ustar      =resul2
     478           case(49) ; wpthetap   =resul2
     479           case(50) ; wpqvp      =resul2
     480           case(51) ; wpqtp      =resul2
     481           case(52) ; wprvp      =resul2
     482           case(53) ; wprtp      =resul2
     483           case(54) ; zzs        =resul3       ! scalaires
     484           case(55) ; pp         =resul3
    564485         end select
    565486         resul=0.
     
    568489         resul3=0.
    569490       enddo
    570          print*,'Lecture de la variable APRES ,sens ',minval(sens),maxval(sens)
    571          print*,'Lecture de la variable APRES ,flat ',minval(flat),maxval(flat)
     491!        print*,'Lecture de la variable APRES ,sens ',minval(sens),maxval(sens)
     492!        print*,'Lecture de la variable APRES ,flat ',minval(flat),maxval(flat)
    572493
    573494!CR:ATTENTION EN ATTENTE DE REGLER LA QUESTION DU PAS DE TEMPS INITIAL
    574        do t=1,ntime
    575           do k=1,nlevel
    576              temp(k,t)=temp0(k)
    577              qv(k,t)=qv0(k)
    578              ql(k,t)=ql0(k)
    579              qi(k,t)=qi0(k)
    580              u(k,t)=u0(k)
    581              v(k,t)=v0(k)
    582              !tke(k,t)=tke0(k)
    583           enddo
    584        enddo
     495!      do t=1,ntime
     496!         do k=1,nlevel
     497!            temp(k,t)=temp0(k)
     498!            qv(k,t)=qv0(k)
     499!            ql(k,t)=ql0(k)
     500!            qi(k,t)=qi0(k)
     501!            u(k,t)=u0(k)
     502!            v(k,t)=v0(k)
     503!            !tke(k,t)=tke0(k)
     504!         enddo
     505!      enddo
    585506       !!!! TRAVAIL : EN FONCTION DES DECISIONS SUR LA SPECIFICATION DE W
    586507       !!!omega=-vitw*pres*rg/(rd*temp)
     
    595516!**********************************************************************************************
    596517        SUBROUTINE interp_case_time_std(day,day1,annee_ref                           &
    597 !    &         ,year_cas,day_cas,nt_cas,pdt_forc,nlev_cas                         &
    598      &         ,nt_cas,nlev_cas                                                   &
    599      &         ,ts_cas,ps_cas,plev_cas,t_cas,theta_cas,thv_cas,thl_cas            &
    600      &         ,qv_cas,ql_cas,qi_cas,u_cas,v_cas                                  &
    601      &         ,ug_cas,vg_cas,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas     &
    602      &         ,vitw_cas,omega_cas,du_cas,hu_cas,vu_cas             &
    603      &         ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas               &
    604      &         ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas                      &
    605      &         ,lat_cas,sens_cas,ustar_cas                                        &
    606      &         ,uw_cas,vw_cas,q1_cas,q2_cas,tke_cas                               &
     518     &         ,nt_cas,nlev_cas                                                      &
     519     &         ,ts_cas,ps_cas,ps_forc_cas,plev_cas,ppforc_cas,t_cas,th_cas,thl_cas   &
     520     &         ,qt_cas,qv_cas,ql_cas,qi_cas                                          &
     521     &         ,rt_cas,rv_cas,rl_cas,ri_cas,rh_cas                                   &
     522     &         ,u_cas,v_cas,w_cas,omega_cas,ug_cas,vg_cas                            &
     523     &         ,temp_nudg_cas,th_nudg_cas,thl_nudg_cas,qt_nudg_cas,qv_nudg_cas       &
     524     &         ,rt_nudg_cas,rv_nudg_cas,u_nudg_cas,v_nudg_cas                        &
     525     &         ,uadv_cas,vadv_cas,tadv_cas,thadv_cas,thladv_cas                      &
     526     &         ,qtadv_cas,qvadv_cas,rtadv_cas,rvadv_cas                              &
     527     &         ,trad_cas,thrad_cas,thlrad_cas                                        &
     528     &         ,tke_cas,lat_cas,sens_cas,ustar_cas                                   &
     529     &         ,wpthetap_cas,wpqtp_cas,wpqvp_cas,wprtp_cas,wprvp_cas                 &
    607530!
    608      &         ,ts_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas               &
    609      &         ,thv_prof_cas,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas     &
    610      &         ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                     &
    611      &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas     &
    612      &         ,vitw_prof_cas,omega_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas  &
    613      &         ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas                   &
    614      &         ,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas                &
    615      &         ,hq_prof_cas,vq_prof_cas,dth_prof_cas,hth_prof_cas,vth_prof_cas    &
    616      &         ,lat_prof_cas,sens_prof_cas                                        &
    617      &         ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tke_prof_cas)
     531     &         ,ts_prof_cas,ps_prof_cas,ps_forc_prof_cas,plev_prof_cas,pforc_prof_cas&
     532     &         ,t_prof_cas,th_prof_cas,thl_prof_cas                                  &
     533     &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                      &
     534     &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas          &
     535     &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                      &
     536     &         ,ug_prof_cas,vg_prof_cas                                              &
     537     &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                &
     538     &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                    &
     539     &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas    &
     540     &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas&
     541     &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas          &
     542     &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                         &
     543     &         ,tke_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas               &
     544     &         ,wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas,wprtp_prof_cas,wprvp_prof_cas)
    618545         
    619546
     
    629556!---------------------------------------------------------------------------------------
    630557
    631 #include "compar1d.h"
     558#include "compar1d_std.h"
    632559#include "date_cas.h"
    633560
     
    636563        integer nt_cas,nlev_cas
    637564        real day, day1,day_cas
    638         real ts_cas(nt_cas),ps_cas(nt_cas)
    639         real plev_cas(nlev_cas,nt_cas)
    640         real t_cas(nlev_cas,nt_cas),theta_cas(nlev_cas,nt_cas),thv_cas(nlev_cas,nt_cas),thl_cas(nlev_cas,nt_cas)
    641         real qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas),qi_cas(nlev_cas,nt_cas)
    642         real u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas)
     565        real ts_cas(nt_cas),ps_cas(nt_cas),ps_forc_cas(nt_cas)
     566        real plev_cas(nlev_cas,nt_cas),ppforc_cas(nt_cas)
     567        real t_cas(nlev_cas,nt_cas),th_cas(nlev_cas,nt_cas),thl_cas(nlev_cas,nt_cas)
     568        real qt_cas(nlev_cas,nt_cas),qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas),qi_cas(nlev_cas,nt_cas)
     569        real rt_cas(nlev_cas,nt_cas),rv_cas(nlev_cas,nt_cas),rl_cas(nlev_cas,nt_cas),ri_cas(nlev_cas,nt_cas)
     570        real rh_cas(nlev_cas,nt_cas),u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas)
     571        real w_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas)
    643572        real ug_cas(nlev_cas,nt_cas),vg_cas(nlev_cas,nt_cas)
    644         real temp_nudg_cas(nlev_cas,nt_cas),qv_nudg_cas(nlev_cas,nt_cas)
     573        real temp_nudg_cas(nlev_cas,nt_cas),th_nudg_cas(nlev_cas,nt_cas),thl_nudg_cas(nlev_cas,nt_cas)
     574        real qt_nudg_cas(nlev_cas,nt_cas),qv_nudg_cas(nlev_cas,nt_cas)
     575        real rt_nudg_cas(nlev_cas,nt_cas),rv_nudg_cas(nlev_cas,nt_cas)
    645576        real u_nudg_cas(nlev_cas,nt_cas),v_nudg_cas(nlev_cas,nt_cas)
    646 
    647         real vitw_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas)
    648         real du_cas(nlev_cas,nt_cas),hu_cas(nlev_cas,nt_cas),vu_cas(nlev_cas,nt_cas)
    649         real dv_cas(nlev_cas,nt_cas),hv_cas(nlev_cas,nt_cas),vv_cas(nlev_cas,nt_cas)
    650         real dt_cas(nlev_cas,nt_cas),ht_cas(nlev_cas,nt_cas),vt_cas(nlev_cas,nt_cas)
    651         real dth_cas(nlev_cas,nt_cas),hth_cas(nlev_cas,nt_cas),vth_cas(nlev_cas,nt_cas)
    652         real dtrad_cas(nlev_cas,nt_cas)
    653         real dq_cas(nlev_cas,nt_cas),hq_cas(nlev_cas,nt_cas),vq_cas(nlev_cas,nt_cas)
     577        real uadv_cas(nlev_cas,nt_cas),vadv_cas(nlev_cas,nt_cas)
     578        real tadv_cas(nlev_cas,nt_cas),thadv_cas(nlev_cas,nt_cas),thladv_cas(nlev_cas,nt_cas)
     579        real qtadv_cas(nlev_cas,nt_cas),qvadv_cas(nlev_cas,nt_cas)
     580        real rtadv_cas(nlev_cas,nt_cas),rvadv_cas(nlev_cas,nt_cas)
     581        real trad_cas(nlev_cas,nt_cas),thrad_cas(nlev_cas,nt_cas),thlrad_cas(nlev_cas,nt_cas)
    654582        real lat_cas(nt_cas),sens_cas(nt_cas),tke_cas(nt_cas)
    655         real ustar_cas(nt_cas),uw_cas(nlev_cas,nt_cas),vw_cas(nlev_cas,nt_cas)
    656         real q1_cas(nlev_cas,nt_cas),q2_cas(nlev_cas,nt_cas)
    657 
    658 ! outputs:
    659         real plev_prof_cas(nlev_cas)
    660         real t_prof_cas(nlev_cas),theta_prof_cas(nlev_cas),thl_prof_cas(nlev_cas),thv_prof_cas(nlev_cas)
    661         real qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)
    662         real u_prof_cas(nlev_cas),v_prof_cas(nlev_cas)
     583        real wpthetap_cas(nt_cas),wpqtp_cas(nt_cas),wpqvp_cas(nt_cas)
     584        real ustar_cas(nt_cas),wprtp_cas(nt_cas),wprvp_cas(nt_cas)
     585
     586! output:
     587        real plev_prof_cas(nlev_cas),pforc_prof_cas(nt_cas)
     588        real t_prof_cas(nlev_cas),th_prof_cas(nlev_cas),thl_prof_cas(nlev_cas)
     589        real qt_prof_cas(nlev_cas),qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)
     590        real rt_prof_cas(nlev_cas),rv_prof_cas(nlev_cas),rl_prof_cas(nlev_cas),ri_prof_cas(nlev_cas)
     591        real rh_prof_cas(nlev_cas),u_prof_cas(nlev_cas),v_prof_cas(nlev_cas)
     592        real w_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)
    663593        real ug_prof_cas(nlev_cas),vg_prof_cas(nlev_cas)
    664         real temp_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
     594        real temp_nudg_prof_cas(nlev_cas),th_nudg_prof_cas(nlev_cas),thl_nudg_prof_cas(nlev_cas)
     595        real qt_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
     596        real rt_nudg_prof_cas(nlev_cas),rv_nudg_prof_cas(nlev_cas)
    665597        real u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas)
    666 
    667         real vitw_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)
    668         real du_prof_cas(nlev_cas),hu_prof_cas(nlev_cas),vu_prof_cas(nlev_cas)
    669         real dv_prof_cas(nlev_cas),hv_prof_cas(nlev_cas),vv_prof_cas(nlev_cas)
    670         real dt_prof_cas(nlev_cas),ht_prof_cas(nlev_cas),vt_prof_cas(nlev_cas)
    671         real dth_prof_cas(nlev_cas),hth_prof_cas(nlev_cas),vth_prof_cas(nlev_cas)
    672         real dtrad_prof_cas(nlev_cas)
    673         real dq_prof_cas(nlev_cas),hq_prof_cas(nlev_cas),vq_prof_cas(nlev_cas)
    674         real lat_prof_cas,sens_prof_cas,tke_prof_cas,ts_prof_cas,ps_prof_cas,ustar_prof_cas
    675         real uw_prof_cas(nlev_cas),vw_prof_cas(nlev_cas),q1_prof_cas(nlev_cas),q2_prof_cas(nlev_cas)
     598        real uadv_prof_cas(nlev_cas),vadv_prof_cas(nlev_cas)
     599        real tadv_prof_cas(nlev_cas),thadv_prof_cas(nlev_cas),thladv_prof_cas(nlev_cas)
     600        real qtadv_prof_cas(nlev_cas),qvadv_prof_cas(nlev_cas)
     601        real rtadv_prof_cas(nlev_cas),rvadv_prof_cas(nlev_cas)
     602        real trad_prof_cas(nlev_cas),thrad_prof_cas(nlev_cas),thlrad_prof_cas(nlev_cas)
     603        real lat_prof_cas,sens_prof_cas,tke_prof_cas
     604        real ts_prof_cas,ps_prof_cas,ps_forc_prof_cas
     605        real wpthetap_prof_cas,wpqtp_prof_cas,wpqvp_prof_cas
     606        real ustar_prof_cas,wprtp_prof_cas,wprvp_prof_cas
     607
    676608! local:
    677609        integer it_cas1, it_cas2,k
    678610        real timeit,time_cas1,time_cas2,frac
    679611
    680 
    681612        print*,'Check time',day1,day_ju_ini_cas,day_deb+1,pdt_cas
    682613!       do k=1,nlev_cas
    683 !       print*,'debut de interp2_case_time, plev_cas=',k,plev_cas(k,1)
     614!       print*,'debut de interp_case_time, plev_cas=',k,plev_cas(k,1)
    684615!       enddo
    685616
     
    762693       ps_prof_cas = ps_cas(it_cas2)                                     &
    763694     &          -frac*(ps_cas(it_cas2)-ps_cas(it_cas1))
     695       ps_forc_prof_cas = ps_forc_cas(it_cas2)                           &
     696     &          -frac*(ps_forc_cas(it_cas2)-ps_forc_cas(it_cas1))
    764697       ustar_prof_cas = ustar_cas(it_cas2)                               &
    765698     &          -frac*(ustar_cas(it_cas2)-ustar_cas(it_cas1))
     699       wpthetap_prof_cas = wpthetap_cas(it_cas2)                               &
     700     &          -frac*(wpthetap_cas(it_cas2)-wpthetap_cas(it_cas1))
     701       wpqtp_prof_cas = wpqtp_cas(it_cas2)                               &
     702     &          -frac*(wpqtp_cas(it_cas2)-wpqtp_cas(it_cas1))
     703       wpqvp_prof_cas = wpqvp_cas(it_cas2)                               &
     704     &          -frac*(wpqvp_cas(it_cas2)-wpqvp_cas(it_cas1))
     705       wprtp_prof_cas = wprtp_cas(it_cas2)                               &
     706     &          -frac*(wprtp_cas(it_cas2)-wprtp_cas(it_cas1))
     707       wprvp_prof_cas = wprvp_cas(it_cas2)                               &
     708     &          -frac*(wprvp_cas(it_cas2)-wprvp_cas(it_cas1))
    766709
    767710       do k=1,nlev_cas
     
    771714     &          -frac*(t_cas(k,it_cas2)-t_cas(k,it_cas1))
    772715        !print *,'k,frac,plev_cas1,plev_cas2=',k,frac,plev_cas(k,it_cas1),plev_cas(k,it_cas2)
    773         theta_prof_cas(k) = theta_cas(k,it_cas2)                         &                     
    774      &          -frac*(theta_cas(k,it_cas2)-theta_cas(k,it_cas1))
    775         thv_prof_cas(k) = thv_cas(k,it_cas2)                             &         
    776      &          -frac*(thv_cas(k,it_cas2)-thv_cas(k,it_cas1))
     716        th_prof_cas(k) = th_cas(k,it_cas2)                         &                     
     717     &          -frac*(th_cas(k,it_cas2)-th_cas(k,it_cas1))
    777718        thl_prof_cas(k) = thl_cas(k,it_cas2)                             &             
    778719     &          -frac*(thl_cas(k,it_cas2)-thl_cas(k,it_cas1))
     720        qt_prof_cas(k) = qt_cas(k,it_cas2)                               &
     721     &          -frac*(qt_cas(k,it_cas2)-qt_cas(k,it_cas1))
    779722        qv_prof_cas(k) = qv_cas(k,it_cas2)                               &
    780723     &          -frac*(qv_cas(k,it_cas2)-qv_cas(k,it_cas1))
     
    783726        qi_prof_cas(k) = qi_cas(k,it_cas2)                               &
    784727     &          -frac*(qi_cas(k,it_cas2)-qi_cas(k,it_cas1))
     728        rt_prof_cas(k) = rt_cas(k,it_cas2)                               &
     729     &          -frac*(rt_cas(k,it_cas2)-rt_cas(k,it_cas1))
     730        rv_prof_cas(k) = rv_cas(k,it_cas2)                               &
     731     &          -frac*(rv_cas(k,it_cas2)-rv_cas(k,it_cas1))
     732        rl_prof_cas(k) = rl_cas(k,it_cas2)                               &
     733     &          -frac*(rl_cas(k,it_cas2)-rl_cas(k,it_cas1))
     734        ri_prof_cas(k) = ri_cas(k,it_cas2)                               &
     735     &          -frac*(ri_cas(k,it_cas2)-ri_cas(k,it_cas1))
     736        rh_prof_cas(k) = rh_cas(k,it_cas2)                               &
     737     &          -frac*(rh_cas(k,it_cas2)-rh_cas(k,it_cas1))
    785738        u_prof_cas(k) = u_cas(k,it_cas2)                                 &
    786739     &          -frac*(u_cas(k,it_cas2)-u_cas(k,it_cas1))
    787740        v_prof_cas(k) = v_cas(k,it_cas2)                                 &
    788741     &          -frac*(v_cas(k,it_cas2)-v_cas(k,it_cas1))
     742        w_prof_cas(k) = w_cas(k,it_cas2)                           &
     743     &          -frac*(w_cas(k,it_cas2)-w_cas(k,it_cas1))
     744        omega_prof_cas(k) = omega_cas(k,it_cas2)                         &
     745     &          -frac*(omega_cas(k,it_cas2)-omega_cas(k,it_cas1))
    789746        ug_prof_cas(k) = ug_cas(k,it_cas2)                               &
    790747     &          -frac*(ug_cas(k,it_cas2)-ug_cas(k,it_cas1))
     
    793750        temp_nudg_prof_cas(k) = temp_nudg_cas(k,it_cas2)                    &
    794751     &          -frac*(temp_nudg_cas(k,it_cas2)-temp_nudg_cas(k,it_cas1))
     752        th_nudg_prof_cas(k) = th_nudg_cas(k,it_cas2)                    &
     753     &          -frac*(th_nudg_cas(k,it_cas2)-th_nudg_cas(k,it_cas1))
     754        thl_nudg_prof_cas(k) = thl_nudg_cas(k,it_cas2)                    &
     755     &          -frac*(thl_nudg_cas(k,it_cas2)-thl_nudg_cas(k,it_cas1))
     756        qt_nudg_prof_cas(k) = qt_nudg_cas(k,it_cas2)                        &
     757     &          -frac*(qt_nudg_cas(k,it_cas2)-qt_nudg_cas(k,it_cas1))
    795758        qv_nudg_prof_cas(k) = qv_nudg_cas(k,it_cas2)                        &
    796759     &          -frac*(qv_nudg_cas(k,it_cas2)-qv_nudg_cas(k,it_cas1))
     760        rt_nudg_prof_cas(k) = rt_nudg_cas(k,it_cas2)                        &
     761     &          -frac*(rt_nudg_cas(k,it_cas2)-rt_nudg_cas(k,it_cas1))
     762        rv_nudg_prof_cas(k) = rv_nudg_cas(k,it_cas2)                        &
     763     &          -frac*(rv_nudg_cas(k,it_cas2)-rv_nudg_cas(k,it_cas1))
    797764        u_nudg_prof_cas(k) = u_nudg_cas(k,it_cas2)                          &
    798765     &          -frac*(u_nudg_cas(k,it_cas2)-u_nudg_cas(k,it_cas1))
    799766        v_nudg_prof_cas(k) = v_nudg_cas(k,it_cas2)                          &
    800767     &          -frac*(v_nudg_cas(k,it_cas2)-v_nudg_cas(k,it_cas1))
    801         vitw_prof_cas(k) = vitw_cas(k,it_cas2)                           &
    802      &          -frac*(vitw_cas(k,it_cas2)-vitw_cas(k,it_cas1))
    803         omega_prof_cas(k) = omega_cas(k,it_cas2)                         &
    804      &          -frac*(omega_cas(k,it_cas2)-omega_cas(k,it_cas1))
    805         du_prof_cas(k) = du_cas(k,it_cas2)                               &
    806      &          -frac*(du_cas(k,it_cas2)-du_cas(k,it_cas1))
    807         hu_prof_cas(k) = hu_cas(k,it_cas2)                               &
    808      &          -frac*(hu_cas(k,it_cas2)-hu_cas(k,it_cas1))
    809         vu_prof_cas(k) = vu_cas(k,it_cas2)                               &
    810      &          -frac*(vu_cas(k,it_cas2)-vu_cas(k,it_cas1))
    811         dv_prof_cas(k) = dv_cas(k,it_cas2)                               &
    812      &          -frac*(dv_cas(k,it_cas2)-dv_cas(k,it_cas1))
    813         hv_prof_cas(k) = hv_cas(k,it_cas2)                               &
    814      &          -frac*(hv_cas(k,it_cas2)-hv_cas(k,it_cas1))
    815         vv_prof_cas(k) = vv_cas(k,it_cas2)                               &
    816      &          -frac*(vv_cas(k,it_cas2)-vv_cas(k,it_cas1))
    817         dt_prof_cas(k) = dt_cas(k,it_cas2)                               &
    818      &          -frac*(dt_cas(k,it_cas2)-dt_cas(k,it_cas1))
    819         ht_prof_cas(k) = ht_cas(k,it_cas2)                               &
    820      &          -frac*(ht_cas(k,it_cas2)-ht_cas(k,it_cas1))
    821         vt_prof_cas(k) = vt_cas(k,it_cas2)                               &
    822      &          -frac*(vt_cas(k,it_cas2)-vt_cas(k,it_cas1))
    823         dth_prof_cas(k) = dth_cas(k,it_cas2)                             &
    824      &          -frac*(dth_cas(k,it_cas2)-dth_cas(k,it_cas1))
    825         hth_prof_cas(k) = hth_cas(k,it_cas2)                             &
    826      &          -frac*(hth_cas(k,it_cas2)-hth_cas(k,it_cas1))
    827         vth_prof_cas(k) = vth_cas(k,it_cas2)                             &
    828      &          -frac*(vth_cas(k,it_cas2)-vth_cas(k,it_cas1))
    829         dtrad_prof_cas(k) = dtrad_cas(k,it_cas2)                         &
    830      &          -frac*(dtrad_cas(k,it_cas2)-dtrad_cas(k,it_cas1))
    831         dq_prof_cas(k) = dq_cas(k,it_cas2)                               &
    832      &          -frac*(dq_cas(k,it_cas2)-dq_cas(k,it_cas1))
    833         hq_prof_cas(k) = hq_cas(k,it_cas2)                               &
    834      &          -frac*(hq_cas(k,it_cas2)-hq_cas(k,it_cas1))
    835         vq_prof_cas(k) = vq_cas(k,it_cas2)                               &
    836      &          -frac*(vq_cas(k,it_cas2)-vq_cas(k,it_cas1))
    837        uw_prof_cas(k) = uw_cas(k,it_cas2)                                &
    838      &          -frac*(uw_cas(k,it_cas2)-uw_cas(k,it_cas1))
    839        vw_prof_cas(k) = vw_cas(k,it_cas2)                                &
    840      &          -frac*(vw_cas(k,it_cas2)-vw_cas(k,it_cas1))
    841        q1_prof_cas(k) = q1_cas(k,it_cas2)                                &
    842      &          -frac*(q1_cas(k,it_cas2)-q1_cas(k,it_cas1))
    843        q2_prof_cas(k) = q2_cas(k,it_cas2)                                &
    844      &          -frac*(q2_cas(k,it_cas2)-q2_cas(k,it_cas1))
     768        uadv_prof_cas(k) = uadv_cas(k,it_cas2)                          &
     769     &          -frac*(uadv_cas(k,it_cas2)-uadv_cas(k,it_cas1))
     770        vadv_prof_cas(k) = vadv_cas(k,it_cas2)                          &
     771     &          -frac*(vadv_cas(k,it_cas2)-vadv_cas(k,it_cas1))
     772        tadv_prof_cas(k) = tadv_cas(k,it_cas2)                          &
     773     &          -frac*(tadv_cas(k,it_cas2)-tadv_cas(k,it_cas1))
     774        thadv_prof_cas(k) = thadv_cas(k,it_cas2)                          &
     775     &          -frac*(thadv_cas(k,it_cas2)-thadv_cas(k,it_cas1))
     776        thladv_prof_cas(k) = thladv_cas(k,it_cas2)                          &
     777     &          -frac*(thladv_cas(k,it_cas2)-thladv_cas(k,it_cas1))
     778        qtadv_prof_cas(k) = qtadv_cas(k,it_cas2)                          &
     779     &          -frac*(qtadv_cas(k,it_cas2)-qtadv_cas(k,it_cas1))
     780        qvadv_prof_cas(k) = qvadv_cas(k,it_cas2)                          &
     781     &          -frac*(qvadv_cas(k,it_cas2)-qvadv_cas(k,it_cas1))
     782        rtadv_prof_cas(k) = rtadv_cas(k,it_cas2)                          &
     783     &          -frac*(rtadv_cas(k,it_cas2)-rtadv_cas(k,it_cas1))
     784        rvadv_prof_cas(k) = rvadv_cas(k,it_cas2)                          &
     785     &          -frac*(rvadv_cas(k,it_cas2)-rvadv_cas(k,it_cas1))
     786        trad_prof_cas(k) = trad_cas(k,it_cas2)                         &
     787     &          -frac*(trad_cas(k,it_cas2)-trad_cas(k,it_cas1))
     788        thrad_prof_cas(k) = thrad_cas(k,it_cas2)                         &
     789     &          -frac*(thrad_cas(k,it_cas2)-thrad_cas(k,it_cas1))
     790        thlrad_prof_cas(k) = thlrad_cas(k,it_cas2)                         &
     791     &          -frac*(thlrad_cas(k,it_cas2)-thlrad_cas(k,it_cas1))
    845792        enddo
    846793
     
    850797!**********************************************************************************************
    851798!=====================================================================
    852        SUBROUTINE interp2_case_vertical_std(play,nlev_cas,plev_prof_cas                                &
    853      &         ,t_prof_cas,th_prof_cas,thv_prof_cas,thl_prof_cas                                       &
    854      &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                              &
     799       SUBROUTINE interp_case_vertical_std(nlev_cas                                                    &
     800     &         ,plev_prof_cas,t_prof_cas,th_prof_cas,thl_prof_cas                                   &
     801     &         ,qt_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                                        &
     802     &         ,rt_prof_cas,rv_prof_cas,rl_prof_cas,ri_prof_cas,rh_prof_cas                            &
     803     &         ,u_prof_cas,v_prof_cas,w_prof_cas,omega_prof_cas                                        &
    855804     &         ,ug_prof_cas,vg_prof_cas                                                                &
    856      &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                    &
    857      &         ,vitw_prof_cas,omega_prof_cas                                                           &
    858      &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                &
    859      &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas &
    860      &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                 &
     805     &         ,temp_nudg_prof_cas,th_nudg_prof_cas,thl_nudg_prof_cas                                  &
     806     &         ,qt_nudg_prof_cas,qv_nudg_prof_cas                                                      &
     807     &         ,rt_nudg_prof_cas,rv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                      &
     808     &         ,uadv_prof_cas,vadv_prof_cas,tadv_prof_cas,thadv_prof_cas,thladv_prof_cas               &
     809     &         ,qtadv_prof_cas,qvadv_prof_cas,rtadv_prof_cas,rvadv_prof_cas                            &
     810     &         ,trad_prof_cas,thrad_prof_cas,thlrad_prof_cas                                           &
    861811!
    862      &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas                                        &
    863      &         ,qv_mod_cas,ql_mod_cas,qi_mod_cas,u_mod_cas,v_mod_cas                                   &
     812     &         ,plev_mod_cas,t_mod_cas,th_mod_cas,thl_mod_cas                                       &
     813     &         ,qt_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas                                            &
     814     &         ,rt_mod_cas,rv_mod_cas,rl_mod_cas,ri_mod_cas,rh_mod_cas                                 &
     815     &         ,u_mod_cas,v_mod_cas,w_mod_cas,omega_mod_cas                                            &
    864816     &         ,ug_mod_cas,vg_mod_cas                                                                  &
    865      &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                        &
    866      &         ,w_mod_cas,omega_mod_cas                                                                &
    867      &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                      &
    868      &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas        &
    869      &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
     817     &         ,temp_nudg_mod_cas,th_nudg_mod_cas,thl_nudg_mod_cas                                     &
     818     &         ,qt_nudg_mod_cas,qv_nudg_mod_cas                                                        &
     819     &         ,rt_nudg_mod_cas,rv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                          &
     820     &         ,uadv_mod_cas,vadv_mod_cas,tadv_mod_cas,thadv_mod_cas,thladv_mod_cas                    &
     821     &         ,qtadv_mod_cas,qvadv_mod_cas,rtadv_mod_cas,rvadv_mod_cas                                &
     822     &         ,trad_mod_cas,thrad_mod_cas,thlrad_mod_cas)
    870823 
    871824       implicit none
     
    886839!       real ht_prof(nlevmax),vt_prof(nlevmax)
    887840!       real hq_prof(nlevmax),vq_prof(nlevmax)
     841       real plev_prof_cas(nlev_cas)
     842       real t_prof_cas(nlev_cas),th_prof_cas(nlev_cas),thl_prof_cas(nlev_cas)                       
     843       real qt_prof_cas(nlev_cas),qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)     
     844       real rt_prof_cas(nlev_cas),rv_prof_cas(nlev_cas),rl_prof_cas(nlev_cas),ri_prof_cas(nlev_cas)
     845       real rh_prof_cas(nlev_cas)                           
     846       real u_prof_cas(nlev_cas),v_prof_cas(nlev_cas),w_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)     
     847       real ug_prof_cas(nlev_cas),vg_prof_cas(nlev_cas)                                             
     848       real temp_nudg_prof_cas(nlev_cas),th_nudg_prof_cas(nlev_cas),thl_nudg_prof_cas(nlev_cas)         
     849       real qt_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
     850       real rt_nudg_prof_cas(nlev_cas),rv_nudg_prof_cas(nlev_cas)
     851       real u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas)                     
     852       real uadv_prof_cas(nlev_cas),vadv_prof_cas(nlev_cas)
     853       real tadv_prof_cas(nlev_cas),thadv_prof_cas(nlev_cas),thladv_prof_cas(nlev_cas)
     854       real qtadv_prof_cas(nlev_cas),qvadv_prof_cas(nlev_cas)
     855       real rtadv_prof_cas(nlev_cas),rvadv_prof_cas(nlev_cas)                           
     856       real trad_prof_cas(nlev_cas),thrad_prof_cas(nlev_cas),thlrad_prof_cas(nlev_cas)                                           
    888857 
    889        real play(llm), plev_prof_cas(nlev_cas)
    890        real t_prof_cas(nlev_cas),th_prof_cas(nlev_cas),thv_prof_cas(nlev_cas),thl_prof_cas(nlev_cas)
    891        real qv_prof_cas(nlev_cas),ql_prof_cas(nlev_cas),qi_prof_cas(nlev_cas)
    892        real u_prof_cas(nlev_cas),v_prof_cas(nlev_cas)
    893        real ug_prof_cas(nlev_cas),vg_prof_cas(nlev_cas), vitw_prof_cas(nlev_cas),omega_prof_cas(nlev_cas)
    894        real temp_nudg_prof_cas(nlev_cas),qv_nudg_prof_cas(nlev_cas)
    895        real u_nudg_prof_cas(nlev_cas),v_nudg_prof_cas(nlev_cas)
    896 
    897        real du_prof_cas(nlev_cas),hu_prof_cas(nlev_cas),vu_prof_cas(nlev_cas)
    898        real dv_prof_cas(nlev_cas),hv_prof_cas(nlev_cas),vv_prof_cas(nlev_cas)
    899        real dt_prof_cas(nlev_cas),ht_prof_cas(nlev_cas),vt_prof_cas(nlev_cas),dtrad_prof_cas(nlev_cas)
    900        real dth_prof_cas(nlev_cas),hth_prof_cas(nlev_cas),vth_prof_cas(nlev_cas)
    901        real dq_prof_cas(nlev_cas),hq_prof_cas(nlev_cas),vq_prof_cas(nlev_cas)
    902  
    903        real t_mod_cas(llm),theta_mod_cas(llm),thv_mod_cas(llm),thl_mod_cas(llm)
    904        real qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm)
    905        real u_mod_cas(llm),v_mod_cas(llm)
    906        real ug_mod_cas(llm),vg_mod_cas(llm), w_mod_cas(llm),omega_mod_cas(llm)
    907        real temp_nudg_mod_cas(llm),qv_nudg_mod_cas(llm)
    908        real u_nudg_mod_cas(llm),v_nudg_mod_cas(llm)
    909        real du_mod_cas(llm),hu_mod_cas(llm),vu_mod_cas(llm)
    910        real dv_mod_cas(llm),hv_mod_cas(llm),vv_mod_cas(llm)
    911        real dt_mod_cas(llm),ht_mod_cas(llm),vt_mod_cas(llm),dtrad_mod_cas(llm)
    912        real dth_mod_cas(llm),hth_mod_cas(llm),vth_mod_cas(llm)
    913        real dq_mod_cas(llm),hq_mod_cas(llm),vq_mod_cas(llm)
     858       real play(llm),plev_mod_cas(llm),t_mod_cas(llm),th_mod_cas(llm),thl_mod_cas(llm)             
     859       real qt_mod_cas(llm),qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm)                       
     860       real rt_mod_cas(llm),rv_mod_cas(llm),rl_mod_cas(llm),ri_mod_cas(llm)
     861       real rh_mod_cas(llm)
     862       real u_mod_cas(llm),v_mod_cas(llm),w_mod_cas(llm),omega_mod_cas(llm)                             
     863       real ug_mod_cas(llm),vg_mod_cas(llm)
     864       real temp_nudg_mod_cas(llm),th_nudg_mod_cas(llm),thl_nudg_mod_cas(llm)                       
     865       real qt_nudg_mod_cas(llm),qv_nudg_mod_cas(llm)
     866       real rt_nudg_mod_cas(llm),rv_nudg_mod_cas(llm),u_nudg_mod_cas(llm),v_nudg_mod_cas(llm)
     867       real uadv_mod_cas(llm),vadv_mod_cas(llm)
     868       real tadv_mod_cas(llm),thadv_mod_cas(llm),thladv_mod_cas(llm)               
     869       real qtadv_mod_cas(llm),qvadv_mod_cas(llm)
     870       real rtadv_mod_cas(llm),rvadv_mod_cas(llm)                           
     871       real trad_mod_cas(llm),thrad_mod_cas(llm),thlrad_mod_cas(llm)                                           
    914872 
    915873       integer l,k,k1,k2
     
    917875 
    918876!       do l = 1, llm
    919 !       print *,'debut interp2, play=',l,play(l)
     877!       print *,'debut interp, play=',l,play(l)
    920878!       enddo
    921879!      do l = 1, nlev_cas
    922 !      print *,'debut interp2, plev_prof_cas=',l,play(l),plev_prof_cas(l)
     880!      print *,'debut interp, plev_prof_cas=',l,play(l),plev_prof_cas(l)
    923881!      enddo
    924882
     
    928886 
    929887        mxcalc=l
    930 !        print *,'debut interp2, mxcalc=',mxcalc
     888!        print *,'debut interp, mxcalc=',mxcalc
    931889         k1=0
    932890         k2=0
     
    951909         frac = (plev_prof_cas(k2)-play(l))/(plev_prof_cas(k2)-plev_prof_cas(k1))
    952910         t_mod_cas(l)= t_prof_cas(k2) - frac*(t_prof_cas(k2)-t_prof_cas(k1))
    953          theta_mod_cas(l)= th_prof_cas(k2) - frac*(th_prof_cas(k2)-th_prof_cas(k1))
    954          if(theta_mod_cas(l).NE.0) t_mod_cas(l)= theta_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
    955          thv_mod_cas(l)= thv_prof_cas(k2) - frac*(thv_prof_cas(k2)-thv_prof_cas(k1))
     911         th_mod_cas(l)= th_prof_cas(k2) - frac*(th_prof_cas(k2)-th_prof_cas(k1))
     912         if(th_mod_cas(l).NE.0) t_mod_cas(l)= th_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
    956913         thl_mod_cas(l)= thl_prof_cas(k2) - frac*(thl_prof_cas(k2)-thl_prof_cas(k1))
     914         qt_mod_cas(l)= qt_prof_cas(k2) - frac*(qt_prof_cas(k2)-qt_prof_cas(k1))
    957915         qv_mod_cas(l)= qv_prof_cas(k2) - frac*(qv_prof_cas(k2)-qv_prof_cas(k1))
    958916         ql_mod_cas(l)= ql_prof_cas(k2) - frac*(ql_prof_cas(k2)-ql_prof_cas(k1))
    959917         qi_mod_cas(l)= qi_prof_cas(k2) - frac*(qi_prof_cas(k2)-qi_prof_cas(k1))
     918         rt_mod_cas(l)= rt_prof_cas(k2) - frac*(rt_prof_cas(k2)-rt_prof_cas(k1))
     919         rv_mod_cas(l)= rv_prof_cas(k2) - frac*(rv_prof_cas(k2)-rv_prof_cas(k1))
     920         rl_mod_cas(l)= rl_prof_cas(k2) - frac*(rl_prof_cas(k2)-rl_prof_cas(k1))
     921         ri_mod_cas(l)= ri_prof_cas(k2) - frac*(ri_prof_cas(k2)-ri_prof_cas(k1))
     922         rh_mod_cas(l)= rh_prof_cas(k2) - frac*(rh_prof_cas(k2)-rh_prof_cas(k1))
    960923         u_mod_cas(l)= u_prof_cas(k2) - frac*(u_prof_cas(k2)-u_prof_cas(k1))
    961924         v_mod_cas(l)= v_prof_cas(k2) - frac*(v_prof_cas(k2)-v_prof_cas(k1))
     925         w_mod_cas(l)= w_prof_cas(k2) - frac*(w_prof_cas(k2)-w_prof_cas(k1))
     926         omega_mod_cas(l)= omega_prof_cas(k2) - frac*(omega_prof_cas(k2)-omega_prof_cas(k1))
    962927         ug_mod_cas(l)= ug_prof_cas(k2) - frac*(ug_prof_cas(k2)-ug_prof_cas(k1))
    963928         vg_mod_cas(l)= vg_prof_cas(k2) - frac*(vg_prof_cas(k2)-vg_prof_cas(k1))
    964929         temp_nudg_mod_cas(l)= temp_nudg_prof_cas(k2) - frac*(temp_nudg_prof_cas(k2)-temp_nudg_prof_cas(k1))
     930         th_nudg_mod_cas(l)= th_nudg_prof_cas(k2) - frac*(th_nudg_prof_cas(k2)-th_nudg_prof_cas(k1))
     931         thl_nudg_mod_cas(l)= thl_nudg_prof_cas(k2) - frac*(thl_nudg_prof_cas(k2)-thl_nudg_prof_cas(k1))
     932         qt_nudg_mod_cas(l)= qt_nudg_prof_cas(k2) - frac*(qt_nudg_prof_cas(k2)-qt_nudg_prof_cas(k1))
    965933         qv_nudg_mod_cas(l)= qv_nudg_prof_cas(k2) - frac*(qv_nudg_prof_cas(k2)-qv_nudg_prof_cas(k1))
     934         rt_nudg_mod_cas(l)= rt_nudg_prof_cas(k2) - frac*(rt_nudg_prof_cas(k2)-rt_nudg_prof_cas(k1))
     935         rv_nudg_mod_cas(l)= rv_nudg_prof_cas(k2) - frac*(rv_nudg_prof_cas(k2)-rv_nudg_prof_cas(k1))
    966936         u_nudg_mod_cas(l)= u_nudg_prof_cas(k2) - frac*(u_nudg_prof_cas(k2)-u_nudg_prof_cas(k1))
    967937         v_nudg_mod_cas(l)= v_nudg_prof_cas(k2) - frac*(v_nudg_prof_cas(k2)-v_nudg_prof_cas(k1))
    968          w_mod_cas(l)= vitw_prof_cas(k2) - frac*(vitw_prof_cas(k2)-vitw_prof_cas(k1))
    969          omega_mod_cas(l)= omega_prof_cas(k2) - frac*(omega_prof_cas(k2)-omega_prof_cas(k1))
    970          du_mod_cas(l)= du_prof_cas(k2) - frac*(du_prof_cas(k2)-du_prof_cas(k1))
    971          hu_mod_cas(l)= hu_prof_cas(k2) - frac*(hu_prof_cas(k2)-hu_prof_cas(k1))
    972          vu_mod_cas(l)= vu_prof_cas(k2) - frac*(vu_prof_cas(k2)-vu_prof_cas(k1))
    973          dv_mod_cas(l)= dv_prof_cas(k2) - frac*(dv_prof_cas(k2)-dv_prof_cas(k1))
    974          hv_mod_cas(l)= hv_prof_cas(k2) - frac*(hv_prof_cas(k2)-hv_prof_cas(k1))
    975          vv_mod_cas(l)= vv_prof_cas(k2) - frac*(vv_prof_cas(k2)-vv_prof_cas(k1))
    976          dt_mod_cas(l)= dt_prof_cas(k2) - frac*(dt_prof_cas(k2)-dt_prof_cas(k1))
    977          ht_mod_cas(l)= ht_prof_cas(k2) - frac*(ht_prof_cas(k2)-ht_prof_cas(k1))
    978          vt_mod_cas(l)= vt_prof_cas(k2) - frac*(vt_prof_cas(k2)-vt_prof_cas(k1))
    979          dth_mod_cas(l)= dth_prof_cas(k2) - frac*(dth_prof_cas(k2)-dth_prof_cas(k1))
    980          hth_mod_cas(l)= hth_prof_cas(k2) - frac*(hth_prof_cas(k2)-hth_prof_cas(k1))
    981          vth_mod_cas(l)= vth_prof_cas(k2) - frac*(vth_prof_cas(k2)-vth_prof_cas(k1))
    982          dq_mod_cas(l)= dq_prof_cas(k2) - frac*(dq_prof_cas(k2)-dq_prof_cas(k1))
    983          hq_mod_cas(l)= hq_prof_cas(k2) - frac*(hq_prof_cas(k2)-hq_prof_cas(k1))
    984          vq_mod_cas(l)= vq_prof_cas(k2) - frac*(vq_prof_cas(k2)-vq_prof_cas(k1))
    985          dtrad_mod_cas(l)= dtrad_prof_cas(k2) - frac*(dtrad_prof_cas(k2)-dtrad_prof_cas(k1))
     938         uadv_mod_cas(l)= uadv_prof_cas(k2) - frac*(uadv_prof_cas(k2)-uadv_prof_cas(k1))
     939         vadv_mod_cas(l)= vadv_prof_cas(k2) - frac*(vadv_prof_cas(k2)-vadv_prof_cas(k1))
     940         tadv_mod_cas(l)= tadv_prof_cas(k2) - frac*(tadv_prof_cas(k2)-tadv_prof_cas(k1))
     941         thadv_mod_cas(l)= thadv_prof_cas(k2) - frac*(thadv_prof_cas(k2)-thadv_prof_cas(k1))
     942         thladv_mod_cas(l)= thladv_prof_cas(k2) - frac*(thladv_prof_cas(k2)-thladv_prof_cas(k1))
     943         qtadv_mod_cas(l)= qtadv_prof_cas(k2) - frac*(qtadv_prof_cas(k2)-qtadv_prof_cas(k1))
     944         qvadv_mod_cas(l)= qvadv_prof_cas(k2) - frac*(qvadv_prof_cas(k2)-qvadv_prof_cas(k1))
     945         rtadv_mod_cas(l)= rtadv_prof_cas(k2) - frac*(rtadv_prof_cas(k2)-rtadv_prof_cas(k1))
     946         rvadv_mod_cas(l)= rvadv_prof_cas(k2) - frac*(rvadv_prof_cas(k2)-rvadv_prof_cas(k1))
     947         trad_mod_cas(l)= trad_prof_cas(k2) - frac*(trad_prof_cas(k2)-trad_prof_cas(k1))
     948         thrad_mod_cas(l)= thrad_prof_cas(k2) - frac*(thrad_prof_cas(k2)-thrad_prof_cas(k1))
     949         thlrad_mod_cas(l)= thlrad_prof_cas(k2) - frac*(thlrad_prof_cas(k2)-thlrad_prof_cas(k1))
    986950     
    987951         else !play>plev_prof_cas(1)
     
    989953         k1=1
    990954         k2=2
    991          print *,'interp2_vert, k1,k2=',plev_prof_cas(k1),plev_prof_cas(k2)
     955         print *,'interp_vert, k1,k2=',plev_prof_cas(k1),plev_prof_cas(k2)
    992956         frac1 = (play(l)-plev_prof_cas(k2))/(plev_prof_cas(k1)-plev_prof_cas(k2))
    993957         frac2 = (play(l)-plev_prof_cas(k1))/(plev_prof_cas(k1)-plev_prof_cas(k2))
    994958         t_mod_cas(l)= frac1*t_prof_cas(k1) - frac2*t_prof_cas(k2)
    995          theta_mod_cas(l)= frac1*th_prof_cas(k1) - frac2*th_prof_cas(k2)
    996          if(theta_mod_cas(l).NE.0) t_mod_cas(l)= theta_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
    997          thv_mod_cas(l)= frac1*thv_prof_cas(k1) - frac2*thv_prof_cas(k2)
     959         th_mod_cas(l)= frac1*th_prof_cas(k1) - frac2*th_prof_cas(k2)
     960         if(th_mod_cas(l).NE.0) t_mod_cas(l)= th_mod_cas(l)*(play(l)/100000.)**(RD/RCPD)
    998961         thl_mod_cas(l)= frac1*thl_prof_cas(k1) - frac2*thl_prof_cas(k2)
     962         qt_mod_cas(l)= frac1*qt_prof_cas(k1) - frac2*qt_prof_cas(k2)
    999963         qv_mod_cas(l)= frac1*qv_prof_cas(k1) - frac2*qv_prof_cas(k2)
    1000964         ql_mod_cas(l)= frac1*ql_prof_cas(k1) - frac2*ql_prof_cas(k2)
    1001965         qi_mod_cas(l)= frac1*qi_prof_cas(k1) - frac2*qi_prof_cas(k2)
     966         rt_mod_cas(l)= frac1*rt_prof_cas(k1) - frac2*rt_prof_cas(k2)
     967         rv_mod_cas(l)= frac1*rv_prof_cas(k1) - frac2*rv_prof_cas(k2)
     968         rl_mod_cas(l)= frac1*rl_prof_cas(k1) - frac2*rl_prof_cas(k2)
     969         ri_mod_cas(l)= frac1*ri_prof_cas(k1) - frac2*ri_prof_cas(k2)
     970         rh_mod_cas(l)= frac1*rh_prof_cas(k1) - frac2*rh_prof_cas(k2)
    1002971         u_mod_cas(l)= frac1*u_prof_cas(k1) - frac2*u_prof_cas(k2)
    1003972         v_mod_cas(l)= frac1*v_prof_cas(k1) - frac2*v_prof_cas(k2)
     973         w_mod_cas(l)= frac1*w_prof_cas(k1) - frac2*w_prof_cas(k2)
     974         omega_mod_cas(l)= frac1*omega_prof_cas(k1) - frac2*omega_prof_cas(k2)
    1004975         ug_mod_cas(l)= frac1*ug_prof_cas(k1) - frac2*ug_prof_cas(k2)
    1005976         vg_mod_cas(l)= frac1*vg_prof_cas(k1) - frac2*vg_prof_cas(k2)
    1006977         temp_nudg_mod_cas(l)= frac1*temp_nudg_prof_cas(k1) - frac2*temp_nudg_prof_cas(k2)
     978         th_nudg_mod_cas(l)= frac1*th_nudg_prof_cas(k1) - frac2*th_nudg_prof_cas(k2)
     979         thl_nudg_mod_cas(l)= frac1*thl_nudg_prof_cas(k1) - frac2*thl_nudg_prof_cas(k2)
     980         qt_nudg_mod_cas(l)= frac1*qt_nudg_prof_cas(k1) - frac2*qt_nudg_prof_cas(k2)
    1007981         qv_nudg_mod_cas(l)= frac1*qv_nudg_prof_cas(k1) - frac2*qv_nudg_prof_cas(k2)
     982         rt_nudg_mod_cas(l)= frac1*rt_nudg_prof_cas(k1) - frac2*rt_nudg_prof_cas(k2)
     983         rv_nudg_mod_cas(l)= frac1*rv_nudg_prof_cas(k1) - frac2*rv_nudg_prof_cas(k2)
    1008984         u_nudg_mod_cas(l)= frac1*u_nudg_prof_cas(k1) - frac2*u_nudg_prof_cas(k2)
    1009985         v_nudg_mod_cas(l)= frac1*v_nudg_prof_cas(k1) - frac2*v_nudg_prof_cas(k2)
    1010          w_mod_cas(l)= frac1*vitw_prof_cas(k1) - frac2*vitw_prof_cas(k2)
    1011          omega_mod_cas(l)= frac1*omega_prof_cas(k1) - frac2*omega_prof_cas(k2)
    1012          du_mod_cas(l)= frac1*du_prof_cas(k1) - frac2*du_prof_cas(k2)
    1013          hu_mod_cas(l)= frac1*hu_prof_cas(k1) - frac2*hu_prof_cas(k2)
    1014          vu_mod_cas(l)= frac1*vu_prof_cas(k1) - frac2*vu_prof_cas(k2)
    1015          dv_mod_cas(l)= frac1*dv_prof_cas(k1) - frac2*dv_prof_cas(k2)
    1016          hv_mod_cas(l)= frac1*hv_prof_cas(k1) - frac2*hv_prof_cas(k2)
    1017          vv_mod_cas(l)= frac1*vv_prof_cas(k1) - frac2*vv_prof_cas(k2)
    1018          dt_mod_cas(l)= frac1*dt_prof_cas(k1) - frac2*dt_prof_cas(k2)
    1019          ht_mod_cas(l)= frac1*ht_prof_cas(k1) - frac2*ht_prof_cas(k2)
    1020          vt_mod_cas(l)= frac1*vt_prof_cas(k1) - frac2*vt_prof_cas(k2)
    1021          dth_mod_cas(l)= frac1*dth_prof_cas(k1) - frac2*dth_prof_cas(k2)
    1022          hth_mod_cas(l)= frac1*hth_prof_cas(k1) - frac2*hth_prof_cas(k2)
    1023          vth_mod_cas(l)= frac1*vth_prof_cas(k1) - frac2*vth_prof_cas(k2)
    1024          dq_mod_cas(l)= frac1*dq_prof_cas(k1) - frac2*dq_prof_cas(k2)
    1025          hq_mod_cas(l)= frac1*hq_prof_cas(k1) - frac2*hq_prof_cas(k2)
    1026          vq_mod_cas(l)= frac1*vq_prof_cas(k1) - frac2*vq_prof_cas(k2)
    1027          dtrad_mod_cas(l)= frac1*dtrad_prof_cas(k1) - frac2*dtrad_prof_cas(k2)
     986         uadv_mod_cas(l)= frac1*uadv_prof_cas(k1) - frac2*uadv_prof_cas(k2)
     987         vadv_mod_cas(l)= frac1*vadv_prof_cas(k1) - frac2*vadv_prof_cas(k2)
     988         tadv_mod_cas(l)= frac1*tadv_prof_cas(k1) - frac2*tadv_prof_cas(k2)
     989         thadv_mod_cas(l)= frac1*thadv_prof_cas(k1) - frac2*thadv_prof_cas(k2)
     990         thladv_mod_cas(l)= frac1*thladv_prof_cas(k1) - frac2*thladv_prof_cas(k2)
     991         qtadv_mod_cas(l)= frac1*qtadv_prof_cas(k1) - frac2*qtadv_prof_cas(k2)
     992         qvadv_mod_cas(l)= frac1*qvadv_prof_cas(k1) - frac2*qvadv_prof_cas(k2)
     993         rtadv_mod_cas(l)= frac1*rtadv_prof_cas(k1) - frac2*rtadv_prof_cas(k2)
     994         rvadv_mod_cas(l)= frac1*rvadv_prof_cas(k1) - frac2*rvadv_prof_cas(k2)
     995         trad_mod_cas(l)= frac1*trad_prof_cas(k1) - frac2*trad_prof_cas(k2)
     996         thrad_mod_cas(l)= frac1*thrad_prof_cas(k1) - frac2*thrad_prof_cas(k2)
     997         thlrad_mod_cas(l)= frac1*thlrad_prof_cas(k1) - frac2*thlrad_prof_cas(k2)
    1028998
    1029999         endif ! play.le.plev_prof_cas(1)
     
    10361006         fact = exp(-fact)                                             !jyg
    10371007         t_mod_cas(l)= t_prof_cas(nlev_cas)                            !jyg
    1038          theta_mod_cas(l)= th_prof_cas(nlev_cas)                       !jyg
    1039          thv_mod_cas(l)= thv_prof_cas(nlev_cas)                        !jyg
     1008         th_mod_cas(l)= th_prof_cas(nlev_cas)                       !jyg
    10401009         thl_mod_cas(l)= thl_prof_cas(nlev_cas)                        !jyg
     1010         qt_mod_cas(l)= qt_prof_cas(nlev_cas)*fact                     !jyg
    10411011         qv_mod_cas(l)= qv_prof_cas(nlev_cas)*fact                     !jyg
    10421012         ql_mod_cas(l)= ql_prof_cas(nlev_cas)*fact                     !jyg
    10431013         qi_mod_cas(l)= qi_prof_cas(nlev_cas)*fact                     !jyg
     1014         rt_mod_cas(l)= rt_prof_cas(nlev_cas)*fact                     !jyg
     1015         rv_mod_cas(l)= rv_prof_cas(nlev_cas)*fact                     !jyg
     1016         rl_mod_cas(l)= rl_prof_cas(nlev_cas)*fact                     !jyg
     1017         ri_mod_cas(l)= ri_prof_cas(nlev_cas)*fact                     !jyg
     1018         rh_mod_cas(l)= rh_prof_cas(nlev_cas)*fact                     !jyg
    10441019         u_mod_cas(l)= u_prof_cas(nlev_cas)*fact                       !jyg
    10451020         v_mod_cas(l)= v_prof_cas(nlev_cas)*fact                       !jyg
     1021         w_mod_cas(l)= 0.0                                             !jyg
     1022         omega_mod_cas(l)= 0.0                                         !jyg
    10461023         ug_mod_cas(l)= ug_prof_cas(nlev_cas)                          !jyg
    10471024         vg_mod_cas(l)= vg_prof_cas(nlev_cas)                          !jyg
    10481025         temp_nudg_mod_cas(l)= temp_nudg_prof_cas(nlev_cas)            !jyg
     1026         th_nudg_mod_cas(l)= th_nudg_prof_cas(nlev_cas)            !jyg
     1027         thl_nudg_mod_cas(l)= thl_nudg_prof_cas(nlev_cas)            !jyg
     1028         qt_nudg_mod_cas(l)= qt_nudg_prof_cas(nlev_cas)                !jyg
    10491029         qv_nudg_mod_cas(l)= qv_nudg_prof_cas(nlev_cas)                !jyg
     1030         rt_nudg_mod_cas(l)= rt_nudg_prof_cas(nlev_cas)                !jyg
     1031         rv_nudg_mod_cas(l)= rv_nudg_prof_cas(nlev_cas)                !jyg
    10501032         u_nudg_mod_cas(l)= u_nudg_prof_cas(nlev_cas)                  !jyg
    10511033         v_nudg_mod_cas(l)= v_nudg_prof_cas(nlev_cas)                  !jyg
    1052          thv_mod_cas(l)= thv_prof_cas(nlev_cas)                        !jyg
    1053          w_mod_cas(l)= 0.0                                             !jyg
    1054          omega_mod_cas(l)= 0.0                                         !jyg
    1055          du_mod_cas(l)= du_prof_cas(nlev_cas)*fact
    1056          hu_mod_cas(l)= hu_prof_cas(nlev_cas)*fact                     !jyg
    1057          vu_mod_cas(l)= vu_prof_cas(nlev_cas)*fact                     !jyg
    1058          dv_mod_cas(l)= dv_prof_cas(nlev_cas)*fact
    1059          hv_mod_cas(l)= hv_prof_cas(nlev_cas)*fact                     !jyg
    1060          vv_mod_cas(l)= vv_prof_cas(nlev_cas)*fact                     !jyg
    1061          dt_mod_cas(l)= dt_prof_cas(nlev_cas)
    1062          ht_mod_cas(l)= ht_prof_cas(nlev_cas)                          !jyg
    1063          vt_mod_cas(l)= vt_prof_cas(nlev_cas)                          !jyg
    1064          dth_mod_cas(l)= dth_prof_cas(nlev_cas)
    1065          hth_mod_cas(l)= hth_prof_cas(nlev_cas)                        !jyg
    1066          vth_mod_cas(l)= vth_prof_cas(nlev_cas)                        !jyg
    1067          dq_mod_cas(l)= dq_prof_cas(nlev_cas)*fact
    1068          hq_mod_cas(l)= hq_prof_cas(nlev_cas)*fact                     !jyg
    1069          vq_mod_cas(l)= vq_prof_cas(nlev_cas)*fact                     !jyg
    1070          dtrad_mod_cas(l)= dtrad_prof_cas(nlev_cas)*fact               !jyg
     1034         uadv_mod_cas(l)= uadv_prof_cas(nlev_cas)                  !jyg
     1035         vadv_mod_cas(l)= vadv_prof_cas(nlev_cas)                  !jyg
     1036         tadv_mod_cas(l)= tadv_prof_cas(nlev_cas)                  !jyg
     1037         thadv_mod_cas(l)= thadv_prof_cas(nlev_cas)                  !jyg
     1038         thladv_mod_cas(l)= thladv_prof_cas(nlev_cas)                  !jyg
     1039         qtadv_mod_cas(l)= qtadv_prof_cas(nlev_cas)                  !jyg
     1040         qvadv_mod_cas(l)= qvadv_prof_cas(nlev_cas)                  !jyg
     1041         rtadv_mod_cas(l)= rtadv_prof_cas(nlev_cas)                  !jyg
     1042         rvadv_mod_cas(l)= rvadv_prof_cas(nlev_cas)                  !jyg
     1043         trad_mod_cas(l)= trad_prof_cas(nlev_cas)*fact               !jyg
     1044         thrad_mod_cas(l)= thrad_prof_cas(nlev_cas)*fact               !jyg
     1045         thlrad_mod_cas(l)= thlrad_prof_cas(nlev_cas)*fact               !jyg
    10711046 
    10721047        endif ! play
     
    10751050
    10761051          return
    1077           end SUBROUTINE interp2_case_vertical_std
     1052          end SUBROUTINE interp_case_vertical_std
    10781053!*****************************************************************************
    10791054
  • LMDZ6/trunk/libf/phylmd/dyn1d/scm.F90

    r3595 r3680  
    4949!#include "indicesol.h"
    5050
    51 #include "compar1d.h"
     51#include "compar1d_std.h"
    5252#include "flux_arp.h"
    5353#include "date_cas.h"
     
    291291!---------------------------------------------------------------------
    292292!Al1
    293         call conf_unicol
     293        call conf_unicol_std
    294294!Al1 moves this gcssold var from common fcg_gcssold to
    295295        Turb_fcg_gcssold = xTurb_fcg_gcssold
     
    10331033         IF ( play(l) < p_nudging_v .AND. nint(nudging_v) /= 0 ) &
    10341034             & d_v_nudge(l)=(v_nudg_mod_cas(l)-v(l))/nudging_v
    1035          IF ( play(l) < p_nudging_t .AND. nint(nudging_t) /= 0 ) &
    1036              & d_t_nudge(l)=(temp_nudg_mod_cas(l)-temp(l))/nudging_t
     1035         IF ( play(l) < p_nudging_temp .AND. nint(nudging_temp) /= 0 ) &
     1036             & d_t_nudge(l)=(temp_nudg_mod_cas(l)-temp(l))/nudging_temp
    10371037         IF ( play(l) < p_nudging_qv .AND. nint(nudging_qv) /= 0 ) &
    10381038             & d_q_nudge(l,1)=(qv_nudg_mod_cas(l)-q(l,1))/nudging_qv
     1039         IF ((adv_temp.eq.1) .and. (forc_w.eq.0)) then
     1040           d_t_adv(l)=alpha*omega(l)/rcpd+dt_mod_cas(l)
     1041         ELSE IF ((adv_temp.eq.1) .and. (forc_w.eq.1)) then
     1042           d_t_adv(l)=alpha*omega(l)/rcpd+ht_mod_cas(l)-d_t_dyn_z(l)
     1043         ENDIF
     1044
    10391045      ENDDO
    10401046
Note: See TracChangeset for help on using the changeset viewer.