Changeset 3680 for LMDZ6/trunk/libf/phylmd/dyn1d
- Timestamp:
- May 26, 2020, 8:10:45 AM (5 years ago)
- Location:
- LMDZ6/trunk/libf/phylmd/dyn1d
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/dyn1d/1D_decl_cases.h
r3593 r3680 34 34 real w_mod(llm), t_mod(llm),q_mod(llm) 35 35 real u_mod(llm),v_mod(llm), ht_mod(llm),vt_mod(llm),ug_mod(llm),vg_mod(llm) 36 36 real temp_nudg_mod(llm),qv_nudg_mod(llm),u_nudg_mod(llm),v_nudg_mod(llm) 37 37 real hq_mod(llm),vq_mod(llm),qv_mod(llm),ql_mod(llm),qt_mod(llm) 38 38 real th_mod(llm) … … 280 280 !Declarations specifiques au cas standard 281 281 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) 285 286 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) 288 296 real omega_mod_cas(llm) 289 297 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 7 7 8 8 ! 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 & 19 22 ! 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) 30 37 31 38 ts_cur = ts_prof_cas … … 34 41 35 42 ! 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 & 45 55 ! 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) 53 67 54 68 … … 79 93 else 80 94 DO l=2,llm-1 81 95 IF (omega(l)>0.) THEN 82 96 d_t_z(l)=(temp(l+1)-temp(l))/(play(l+1)-play(l)) 83 97 d_th_z(l)=(teta(l+1)-teta(l))/(play(l+1)-play(l)) … … 85 99 d_u_z(l)=(u(l+1)-u(l))/(play(l+1)-play(l)) 86 100 d_v_z(l)=(v(l+1)-v(l))/(play(l+1)-play(l)) 87 101 ELSE 88 102 d_t_z(l)=(temp(l-1)-temp(l))/(play(l-1)-play(l)) 89 103 d_th_z(l)=(teta(l-1)-teta(l))/(play(l-1)-play(l)) … … 91 105 d_u_z(l)=(u(l-1)-u(l))/(play(l-1)-play(l)) 92 106 d_v_z(l)=(v(l-1)-v(l))/(play(l-1)-play(l)) 93 94 107 ENDIF 108 ENDDO 95 109 endif 96 110 d_t_z(1)=d_t_z(2) … … 157 171 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 158 172 159 if ( trad.eq.1) then173 if (rad_temp.eq.1) then 160 174 tend_rayo=1 161 175 dt_cooling(l) = dtrad_mod_cas(l) -
LMDZ6/trunk/libf/phylmd/dyn1d/1D_read_forc_cases.h
r3593 r3680 17 17 call read_SCM_cas 18 18 write(*,*) 'Forcing read' 19 19 print*,'PS ps_cas',ps_cas 20 20 21 21 !Time interpolation for initial conditions using interpolation routine 22 22 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 & 33 36 ! 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) 44 51 45 52 do l = 1, nlev_cas … … 49 56 ! vertical interpolation using interpolation routine: 50 57 ! 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 & 61 70 ! 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) 69 82 70 83 -
LMDZ6/trunk/libf/phylmd/dyn1d/mod_1D_cases_read_std.F90
r3669 r3680 9 9 ! Discr?tisation 10 10 integer nlev_cas, nt_cas 11 real zzs_cas,pp_cas 11 12 12 13 13 14 !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(:) 33 38 34 39 !champs interpoles 35 40 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(:) 44 45 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 77 59 78 60 … … 158 140 ENDIF 159 141 160 161 142 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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)) 178 151 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)) 180 161 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)) 185 166 186 167 !champs interpoles 187 168 allocate(plev_prof_cas(nlev_cas)) 188 169 allocate(t_prof_cas(nlev_cas)) 189 allocate(th eta_prof_cas(nlev_cas))170 allocate(th_prof_cas(nlev_cas)) 190 171 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)) 193 173 allocate(qv_prof_cas(nlev_cas)) 194 174 allocate(ql_prof_cas(nlev_cas)) 195 175 allocate(qi_prof_cas(nlev_cas)) 196 176 allocate(rh_prof_cas(nlev_cas)) 177 allocate(rt_prof_cas(nlev_cas)) 197 178 allocate(rv_prof_cas(nlev_cas)) 179 allocate(rl_prof_cas(nlev_cas)) 180 allocate(ri_prof_cas(nlev_cas)) 198 181 allocate(u_prof_cas(nlev_cas)) 199 182 allocate(v_prof_cas(nlev_cas)) 200 allocate( vitw_prof_cas(nlev_cas))183 allocate(w_prof_cas(nlev_cas)) 201 184 allocate(omega_prof_cas(nlev_cas)) 202 185 allocate(ug_prof_cas(nlev_cas)) 203 186 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)) 205 189 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))226 190 227 191 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 237 202 print*,'read_SCM cas OK' 238 203 do ii=1,nlev_cas 239 print*,'apres read2_SCM, plev_cas=',ii,p lev_cas(ii,1)204 print*,'apres read2_SCM, plev_cas=',ii,ppforc_cas(ii,1) 240 205 !print*,'apres read_SCM, plev_cas=',ii,omega_cas(ii,nt_cas/2+1) 241 206 enddo … … 247 212 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 248 213 SUBROUTINE 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) 268 238 269 239 !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) 308 262 309 263 END SUBROUTINE deallocate2_1D_cases … … 311 265 312 266 !===================================================================== 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 322 275 implicit none 323 276 #include "netcdf.inc" 324 #include "compar1d .h"277 #include "compar1d_std.h" 325 278 326 279 integer ntime,nlevel,k,t 327 280 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) 331 283 !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) 338 289 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 347 301 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 352 305 353 306 354 307 integer nid, ierr,ierr1,ierr2,rid,i 355 308 integer nbvar3d 356 parameter(nbvar3d= 74)309 parameter(nbvar3d=55) 357 310 integer var3didin(nbvar3d),missing_var(nbvar3d) 358 character*1 3name_var(1:nbvar3d)311 character*14 name_var(1:nbvar3d) 359 312 360 313 361 314 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'/ 377 328 378 329 !----------------------------------------------------------------------- … … 394 345 !----------------------------------------------------------------------- 395 346 if ( 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' 397 350 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' 398 354 if ( name_var(i) == 'u_nudging' .and. nint(nudging_u)==0) stop 'Nudging inconsistency u' 399 355 if ( name_var(i) == 'v_nudging' .and. nint(nudging_u)==0) stop 'Nudging inconsistency v' … … 403 359 404 360 !----------------------------------------------------------------------- 405 ! Reading variables 1D (N+1) vertical variables (nlevelp1,lat,lon)406 !-----------------------------------------------------------------------407 if(i.LE.4) then408 #ifdef NC_DOUBLE409 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),apbp)410 #else411 ierr = NF_GET_VAR_REAL(nid,var3didin(i),apbp)412 #endif413 print *,'read2_cas(apbp), on a lu ',i,name_var(i)414 if(ierr/=NF_NOERR) then415 print *,'Pb a la lecture de cas.nc: ',name_var(i)416 stop "getvarup"417 endif418 419 !-----------------------------------------------------------------------420 361 ! Reading 1D (N) vertical varialbes (nlevel,lat,lon) 421 362 !----------------------------------------------------------------------- 422 else if(i.gt.4.and.i.LE.12) then363 if(i.LE.15) then 423 364 #ifdef NC_DOUBLE 424 365 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul1) … … 437 378 ! TBD : seems to be the same as above. 438 379 !----------------------------------------------------------------------- 439 else if(i.g t.12.and.i.LE.57) then380 else if(i.ge.16.and.i.LE.42) then 440 381 #ifdef NC_DOUBLE 441 382 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul) … … 453 394 ! Reading 1D time variables (time,lat,lon) 454 395 !----------------------------------------------------------------------- 455 else if (i.gt. 57.and.i.LE.63) then396 else if (i.gt.43.and.i.LE.53) then 456 397 #ifdef NC_DOUBLE 457 398 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(i),resul2) … … 465 406 endif 466 407 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) 470 410 !----------------------------------------------------------------------- 471 411 else … … 488 428 !----------------------------------------------------------------------- 489 429 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 564 485 end select 565 486 resul=0. … … 568 489 resul3=0. 569 490 enddo 570 571 491 ! print*,'Lecture de la variable APRES ,sens ',minval(sens),maxval(sens) 492 ! print*,'Lecture de la variable APRES ,flat ',minval(flat),maxval(flat) 572 493 573 494 !CR:ATTENTION EN ATTENTE DE REGLER LA QUESTION DU PAS DE TEMPS INITIAL 574 575 576 577 578 579 580 581 582 583 584 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 585 506 !!!! TRAVAIL : EN FONCTION DES DECISIONS SUR LA SPECIFICATION DE W 586 507 !!!omega=-vitw*pres*rg/(rd*temp) … … 595 516 !********************************************************************************************** 596 517 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 & 607 530 ! 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) 618 545 619 546 … … 629 556 !--------------------------------------------------------------------------------------- 630 557 631 #include "compar1d .h"558 #include "compar1d_std.h" 632 559 #include "date_cas.h" 633 560 … … 636 563 integer nt_cas,nlev_cas 637 564 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) 643 572 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) 645 576 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) 654 582 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) 663 593 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) 665 597 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_cas675 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 676 608 ! local: 677 609 integer it_cas1, it_cas2,k 678 610 real timeit,time_cas1,time_cas2,frac 679 611 680 681 612 print*,'Check time',day1,day_ju_ini_cas,day_deb+1,pdt_cas 682 613 ! do k=1,nlev_cas 683 ! print*,'debut de interp 2_case_time, plev_cas=',k,plev_cas(k,1)614 ! print*,'debut de interp_case_time, plev_cas=',k,plev_cas(k,1) 684 615 ! enddo 685 616 … … 762 693 ps_prof_cas = ps_cas(it_cas2) & 763 694 & -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)) 764 697 ustar_prof_cas = ustar_cas(it_cas2) & 765 698 & -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)) 766 709 767 710 do k=1,nlev_cas … … 771 714 & -frac*(t_cas(k,it_cas2)-t_cas(k,it_cas1)) 772 715 !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)) 777 718 thl_prof_cas(k) = thl_cas(k,it_cas2) & 778 719 & -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)) 779 722 qv_prof_cas(k) = qv_cas(k,it_cas2) & 780 723 & -frac*(qv_cas(k,it_cas2)-qv_cas(k,it_cas1)) … … 783 726 qi_prof_cas(k) = qi_cas(k,it_cas2) & 784 727 & -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)) 785 738 u_prof_cas(k) = u_cas(k,it_cas2) & 786 739 & -frac*(u_cas(k,it_cas2)-u_cas(k,it_cas1)) 787 740 v_prof_cas(k) = v_cas(k,it_cas2) & 788 741 & -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)) 789 746 ug_prof_cas(k) = ug_cas(k,it_cas2) & 790 747 & -frac*(ug_cas(k,it_cas2)-ug_cas(k,it_cas1)) … … 793 750 temp_nudg_prof_cas(k) = temp_nudg_cas(k,it_cas2) & 794 751 & -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)) 795 758 qv_nudg_prof_cas(k) = qv_nudg_cas(k,it_cas2) & 796 759 & -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)) 797 764 u_nudg_prof_cas(k) = u_nudg_cas(k,it_cas2) & 798 765 & -frac*(u_nudg_cas(k,it_cas2)-u_nudg_cas(k,it_cas1)) 799 766 v_nudg_prof_cas(k) = v_nudg_cas(k,it_cas2) & 800 767 & -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)) 845 792 enddo 846 793 … … 850 797 !********************************************************************************************** 851 798 !===================================================================== 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 & 855 804 & ,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 & 861 811 ! 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 & 864 816 & ,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) 870 823 871 824 implicit none … … 886 839 ! real ht_prof(nlevmax),vt_prof(nlevmax) 887 840 ! 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) 888 857 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) 914 872 915 873 integer l,k,k1,k2 … … 917 875 918 876 ! do l = 1, llm 919 ! print *,'debut interp 2, play=',l,play(l)877 ! print *,'debut interp, play=',l,play(l) 920 878 ! enddo 921 879 ! do l = 1, nlev_cas 922 ! print *,'debut interp 2, plev_prof_cas=',l,play(l),plev_prof_cas(l)880 ! print *,'debut interp, plev_prof_cas=',l,play(l),plev_prof_cas(l) 923 881 ! enddo 924 882 … … 928 886 929 887 mxcalc=l 930 ! print *,'debut interp 2, mxcalc=',mxcalc888 ! print *,'debut interp, mxcalc=',mxcalc 931 889 k1=0 932 890 k2=0 … … 951 909 frac = (plev_prof_cas(k2)-play(l))/(plev_prof_cas(k2)-plev_prof_cas(k1)) 952 910 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) 956 913 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)) 957 915 qv_mod_cas(l)= qv_prof_cas(k2) - frac*(qv_prof_cas(k2)-qv_prof_cas(k1)) 958 916 ql_mod_cas(l)= ql_prof_cas(k2) - frac*(ql_prof_cas(k2)-ql_prof_cas(k1)) 959 917 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)) 960 923 u_mod_cas(l)= u_prof_cas(k2) - frac*(u_prof_cas(k2)-u_prof_cas(k1)) 961 924 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)) 962 927 ug_mod_cas(l)= ug_prof_cas(k2) - frac*(ug_prof_cas(k2)-ug_prof_cas(k1)) 963 928 vg_mod_cas(l)= vg_prof_cas(k2) - frac*(vg_prof_cas(k2)-vg_prof_cas(k1)) 964 929 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)) 965 933 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)) 966 936 u_nudg_mod_cas(l)= u_nudg_prof_cas(k2) - frac*(u_nudg_prof_cas(k2)-u_nudg_prof_cas(k1)) 967 937 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)) 986 950 987 951 else !play>plev_prof_cas(1) … … 989 953 k1=1 990 954 k2=2 991 print *,'interp 2_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) 992 956 frac1 = (play(l)-plev_prof_cas(k2))/(plev_prof_cas(k1)-plev_prof_cas(k2)) 993 957 frac2 = (play(l)-plev_prof_cas(k1))/(plev_prof_cas(k1)-plev_prof_cas(k2)) 994 958 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) 998 961 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) 999 963 qv_mod_cas(l)= frac1*qv_prof_cas(k1) - frac2*qv_prof_cas(k2) 1000 964 ql_mod_cas(l)= frac1*ql_prof_cas(k1) - frac2*ql_prof_cas(k2) 1001 965 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) 1002 971 u_mod_cas(l)= frac1*u_prof_cas(k1) - frac2*u_prof_cas(k2) 1003 972 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) 1004 975 ug_mod_cas(l)= frac1*ug_prof_cas(k1) - frac2*ug_prof_cas(k2) 1005 976 vg_mod_cas(l)= frac1*vg_prof_cas(k1) - frac2*vg_prof_cas(k2) 1006 977 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) 1007 981 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) 1008 984 u_nudg_mod_cas(l)= frac1*u_nudg_prof_cas(k1) - frac2*u_nudg_prof_cas(k2) 1009 985 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) 1028 998 1029 999 endif ! play.le.plev_prof_cas(1) … … 1036 1006 fact = exp(-fact) !jyg 1037 1007 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 1040 1009 thl_mod_cas(l)= thl_prof_cas(nlev_cas) !jyg 1010 qt_mod_cas(l)= qt_prof_cas(nlev_cas)*fact !jyg 1041 1011 qv_mod_cas(l)= qv_prof_cas(nlev_cas)*fact !jyg 1042 1012 ql_mod_cas(l)= ql_prof_cas(nlev_cas)*fact !jyg 1043 1013 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 1044 1019 u_mod_cas(l)= u_prof_cas(nlev_cas)*fact !jyg 1045 1020 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 1046 1023 ug_mod_cas(l)= ug_prof_cas(nlev_cas) !jyg 1047 1024 vg_mod_cas(l)= vg_prof_cas(nlev_cas) !jyg 1048 1025 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 1049 1029 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 1050 1032 u_nudg_mod_cas(l)= u_nudg_prof_cas(nlev_cas) !jyg 1051 1033 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 1071 1046 1072 1047 endif ! play … … 1075 1050 1076 1051 return 1077 end SUBROUTINE interp 2_case_vertical_std1052 end SUBROUTINE interp_case_vertical_std 1078 1053 !***************************************************************************** 1079 1054 -
LMDZ6/trunk/libf/phylmd/dyn1d/scm.F90
r3595 r3680 49 49 !#include "indicesol.h" 50 50 51 #include "compar1d .h"51 #include "compar1d_std.h" 52 52 #include "flux_arp.h" 53 53 #include "date_cas.h" … … 291 291 !--------------------------------------------------------------------- 292 292 !Al1 293 call conf_unicol 293 call conf_unicol_std 294 294 !Al1 moves this gcssold var from common fcg_gcssold to 295 295 Turb_fcg_gcssold = xTurb_fcg_gcssold … … 1033 1033 IF ( play(l) < p_nudging_v .AND. nint(nudging_v) /= 0 ) & 1034 1034 & 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 1037 1037 IF ( play(l) < p_nudging_qv .AND. nint(nudging_qv) /= 0 ) & 1038 1038 & 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 1039 1045 ENDDO 1040 1046
Note: See TracChangeset
for help on using the changeset viewer.