Changeset 2894 for LMDZ5/trunk
- Timestamp:
- May 30, 2017, 8:15:56 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/ener_conserv.F90
r2881 r2894 23 23 & d_u_con,d_v_con,d_t_con,d_t_diss 24 24 USE phys_local_var_mod, ONLY : d_t_eva,d_t_lsc,d_q_eva,d_q_lsc 25 USE phys_local_var_mod, ONLY : d_u_oro,d_v_oro,d_u_lif,d_v_lif 26 USE phys_local_var_mod, ONLY : du_gwd_hines,dv_gwd_hines,dv_gwd_front,dv_gwd_rando 27 USE phys_state_var_mod, ONLY : du_gwd_front,du_gwd_rando 25 28 USE phys_output_var_mod, ONLY : bils_ec,bils_ech,bils_tke,bils_kinetic,bils_enthalp,bils_latent,bils_diss 26 USE add_phys_tend_mod, ONLY : fl_cor_ebil27 29 28 30 IMPLICIT none … … 60 62 DO k = 1, klev 61 63 DO i = 1, klon 62 IF (fl_cor_ebil .GT. 0) then 63 ZRCPD = RCPD*(1.0+RVTMP2*(pqn(i,k)+pqln(i,k)+pqsn(i,k))) 64 ELSE 65 ZRCPD = RCPD*(1.0+RVTMP2*pqn(i,k)) 66 ENDIF 67 d_t_ec(i,k)=0.5/ZRCPD & 68 & *(puo(i,k)**2+pvo(i,k)**2-pun(i,k)**2-pvn(i,k)**2) 69 ENDDO 70 ENDDO 64 ZRCPD = RCPD*(1.0+RVTMP2*(pqn(i,k)+pqln(i,k)+pqsn(i,k))) 65 d_t_ec(i,k)=0.5/ZRCPD & 66 & *(puo(i,k)**2+pvo(i,k)**2-pun(i,k)**2-pvn(i,k)**2) 67 ENDDO 68 ENDDO 71 69 !-jld ec_conser 72 70 … … 94 92 d_u(:,:)=0. 95 93 d_v(:,:)=0. 94 95 ELSEIF (iflag_ener_conserv==3) THEN 96 d_t(:,:)=0. 97 d_u(:,:)=0. 98 d_v(:,:)=0. 99 ELSEIF (iflag_ener_conserv==4) THEN 100 d_t(:,:)=0. 101 d_u(:,:)=d_u_vdf(:,:) 102 d_v(:,:)=d_v_vdf(:,:) 103 ELSEIF (iflag_ener_conserv==5) THEN 104 d_t(:,:)=d_t_vdf(:,:) 105 d_u(:,:)=d_u_vdf(:,:) 106 d_v(:,:)=d_v_vdf(:,:) 107 ELSEIF (iflag_ener_conserv==6) THEN 108 d_t(:,:)=d_t_vdf(:,:) 109 d_u(:,:)=d_u_vdf(:,:)+d_u_ajs(:,:) 110 d_v(:,:)=d_v_vdf(:,:)+d_v_ajs(:,:) 111 ELSEIF (iflag_ener_conserv==7) THEN 112 d_t(:,:)=d_t_vdf(:,:)+d_t_ajs(:,:) 113 d_u(:,:)=d_u_vdf(:,:)+d_u_ajs(:,:) 114 d_v(:,:)=d_v_vdf(:,:)+d_v_ajs(:,:) 115 ELSEIF (iflag_ener_conserv==8) THEN 116 d_t(:,:)=d_t_vdf(:,:) 117 d_u(:,:)=d_u_vdf(:,:)+d_u_ajs(:,:)+d_u_con(:,:) 118 d_v(:,:)=d_v_vdf(:,:)+d_v_ajs(:,:)+d_v_con(:,:) 119 ELSEIF (iflag_ener_conserv==9) THEN 120 d_t(:,:)=d_t_vdf(:,:) 121 d_u(:,:)=d_u_vdf(:,:)+d_u_ajs(:,:)+d_u_con(:,:)+d_u_oro(:,:) 122 d_v(:,:)=d_v_vdf(:,:)+d_v_ajs(:,:)+d_v_con(:,:)+d_v_oro(:,:) 123 ELSEIF (iflag_ener_conserv==10) THEN 124 d_t(:,:)=d_t_vdf(:,:) 125 d_u(:,:)=d_u_vdf(:,:)+d_u_ajs(:,:)+d_u_con(:,:)+d_u_oro(:,:)+d_u_lif(:,:) 126 d_v(:,:)=d_v_vdf(:,:)+d_v_ajs(:,:)+d_v_con(:,:)+d_v_oro(:,:)+d_v_lif(:,:) 127 ELSEIF (iflag_ener_conserv==11) THEN 128 d_t(:,:)=d_t_vdf(:,:) 129 d_u(:,:)=d_u_vdf(:,:)+d_u_ajs(:,:)+d_u_con(:,:)+d_u_oro(:,:)+d_u_lif(:,:) & 130 & +du_gwd_hines(:,:)+du_gwd_front(:,:)+du_gwd_rando(:,:) 131 d_v(:,:)=d_v_vdf(:,:)+d_v_ajs(:,:)+d_v_con(:,:)+d_v_oro(:,:)+d_v_lif(:,:) & 132 & +dv_gwd_hines(:,:)+dv_gwd_front(:,:)+dv_gwd_rando(:,:) 96 133 ELSE 97 134 abort_message = 'iflag_ener_conserv non prevu'
Note: See TracChangeset
for help on using the changeset viewer.