Changeset 2333 for LMDZ5/trunk/libf/phylmd/physiq.F90
- Timestamp:
- Jul 22, 2015, 4:14:51 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/physiq.F90
r2328 r2333 5 5 debut,lafin,jD_cur, jH_cur,pdtphys, & 6 6 paprs,pplay,pphi,pphis,presnivs, & 7 u,v, t,qx, &7 u,v,rot,t,qx, & 8 8 flxmass_w, & 9 9 d_u, d_v, d_t, d_qx, d_ps & … … 66 66 USE CFMIP_point_locations 67 67 use FLOTT_GWD_rando_m, only: FLOTT_GWD_rando 68 use ACAMA_GWD_rando_m, only: ACAMA_GWD_rando 68 69 69 70 IMPLICIT none … … 230 231 REAL u(klon,klev) 231 232 REAL v(klon,klev) 233 234 REAL, intent(in):: rot(klon, klev) 235 ! relative vorticity, in s-1, needed for frontal waves 236 232 237 REAL t(klon,klev),thetal(klon,klev) 233 238 ! thetal: ligne suivante a decommenter si vous avez les fichiers MPL 20130625 … … 696 701 REAL zustrli(klon), zvstrli(klon) 697 702 REAL zustrph(klon), zvstrph(klon) 698 REAL zustrhi(klon), zvstrhi(klon)699 703 REAL aam, torsfc 700 704 !IM 141004 END … … 3835 3839 d_t_lif, d_u_lif, d_v_lif) 3836 3840 ENDIF 3837 ! 3838 !----------------------------------------------------------------------------------------- 3841 3839 3842 ! ajout des tendances de la portance de l'orographie 3840 CALL add_phys_tend(d_u_lif,d_v_lif,d_t_lif,dq0,dql0,dqi0,paprs,'lif',abortphy) 3841 !----------------------------------------------------------------------------------------- 3842 ! 3843 CALL add_phys_tend(d_u_lif, d_v_lif, d_t_lif, dq0, dql0, dqi0, paprs, & 3844 'lif', abortphy) 3843 3845 ENDIF ! fin de test sur ok_orolf 3844 ! HINES GWD PARAMETRIZATION3845 3846 3846 3847 IF (ok_hines) then 3847 3848 CALL hines_gwd(klon,klev,dtime,paprs,pplay, & 3849 rlat,t_seri,u_seri,v_seri, & 3850 zustrhi,zvstrhi, & 3851 d_t_hin, d_u_hin, d_v_hin) 3852 ! 3853 ! ajout des tendances 3854 CALL add_phys_tend(d_u_hin,d_v_hin,d_t_hin,dq0,dql0,dqi0,paprs,'hin',abortphy) 3855 3848 ! HINES GWD PARAMETRIZATION 3849 east_gwstress=0. 3850 west_gwstress=0. 3851 du_gwd_hines=0. 3852 dv_gwd_hines=0. 3853 CALL hines_gwd(klon, klev, dtime, paprs, pplay, rlat, t_seri, u_seri, & 3854 v_seri, zustr_gwd_hines, zvstr_gwd_hines, d_t_hin, du_gwd_hines, & 3855 dv_gwd_hines) 3856 zustr_gwd_hines=0. 3857 zvstr_gwd_hines=0. 3858 DO k = 1, klev 3859 zustr_gwd_hines(:)=zustr_gwd_hines(:)+ du_gwd_hines(:, k)/dtime & 3860 * (paprs(:, k)-paprs(:, k+1))/rg 3861 zvstr_gwd_hines(:)=zvstr_gwd_hines(:)+ dv_gwd_hines(:, k)/dtime & 3862 * (paprs(:, k)-paprs(:, k+1))/rg 3863 ENDDO 3864 3865 d_t_hin(:, :)=0. 3866 CALL add_phys_tend(du_gwd_hines, dv_gwd_hines, d_t_hin, dq0, dql0, dqi0, & 3867 paprs, 'hin', abortphy) 3868 ENDIF 3869 3870 IF (.not. ok_hines .and. ok_gwd_rando) then 3871 CALL acama_GWD_rando(DTIME, pplay, rlat, t_seri, u_seri, v_seri, rot, & 3872 zustr_gwd_front, zvstr_gwd_front, du_gwd_front, dv_gwd_front, & 3873 east_gwstress, west_gwstress) 3874 zustr_gwd_front=0. 3875 zvstr_gwd_front=0. 3876 DO k = 1, klev 3877 zustr_gwd_front(:)=zustr_gwd_front(:)+ du_gwd_front(:, k)/dtime & 3878 * (paprs(:, k)-paprs(:, k+1))/rg 3879 zvstr_gwd_front(:)=zvstr_gwd_front(:)+ dv_gwd_front(:, k)/dtime & 3880 * (paprs(:, k)-paprs(:, k+1))/rg 3881 ENDDO 3882 3883 CALL add_phys_tend(du_gwd_front, dv_gwd_front, dt0, dq0, dql0, dqi0, & 3884 paprs, 'front_gwd_rando', abortphy) 3885 3886 ! LIGNE TEMPORAIRE POUR TESTER ROT (ECRITE AUSSI AU DESSOUS!!!): 3887 east_gwstress=rot 3856 3888 ENDIF 3857 3889 … … 3859 3891 call FLOTT_GWD_rando(DTIME, pplay, t_seri, u_seri, v_seri, & 3860 3892 rain_fall + snow_fall, zustr_gwd_rando, zvstr_gwd_rando, & 3861 du_gwd_rando, dv_gwd_rando) 3862 CALL add_phys_tend(du_gwd_rando, dv_gwd_rando, dt0, dq0, dql0,dqi0,paprs, & 3863 'flott_gwd_rando',abortphy) 3893 du_gwd_rando, dv_gwd_rando, east_gwstress, west_gwstress) 3894 CALL add_phys_tend(du_gwd_rando, dv_gwd_rando, dt0, dq0, dql0, dqi0, & 3895 paprs, 'flott_gwd_rando', abortphy) 3896 zustr_gwd_rando=0. 3897 zvstr_gwd_rando=0. 3898 DO k = 1, klev 3899 zustr_gwd_rando(:)=zustr_gwd_rando(:)+ du_gwd_rando(:, k)/dtime & 3900 * (paprs(:, k)-paprs(:, k+1))/rg 3901 zvstr_gwd_rando(:)=zvstr_gwd_rando(:)+ dv_gwd_rando(:, k)/dtime & 3902 * (paprs(:, k)-paprs(:, k+1))/rg 3903 ENDDO 3904 3905 ! LIGNE TEMPORAIRE POUR TESTER ROT (ECRITE AUSSI AU DESSUS!!!): 3906 east_gwstress=rot 3864 3907 end if 3865 3908 … … 3915 3958 CALL METHOX(1,klon,klon,klev,q_seri,d_q_ch4,pplay) 3916 3959 ! ajout de la tendance d'humidite due au methane 3917 CALL add_phys_tend(du0,dv0,dt0,d_q_ch4*dtime,dql0,'q_ch4',abortphy) 3960 CALL add_phys_tend(du0, dv0, dt0, d_q_ch4*dtime, dql0, dqi0, paprs, & 3961 'q_ch4', abortphy) 3918 3962 END IF 3919 3963 !
Note: See TracChangeset
for help on using the changeset viewer.