Changeset 585 for codes/icosagcm/devel/src/diagnostics/wind.F90
- Timestamp:
- 10/16/17 13:07:30 (7 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/diagnostics/wind.F90
r584 r585 5 5 PRIVATE 6 6 7 PUBLIC :: compute_wind_centered, compute_wind_centered_lonlat_compound, & 7 PUBLIC :: compute_wind_centered, compute_flux_centered, & 8 compute_wind_centered_lonlat_compound, compute_wind2d_perp_from_lonlat_compound, & 8 9 compute_wind_centered_from_lonlat_compound, compute_wind_perp_from_lonlat_compound, & 9 un2ulonlat, ulonlat2un , compute_wind2d_perp_from_lonlat_compound10 un2ulonlat, ulonlat2un 10 11 11 12 CONTAINS … … 51 52 REAL(rstd) :: ue(3*iim*jjm,llm) 52 53 REAL(rstd) :: ucenter(iim*jjm,llm,3) 53 INTEGER :: i,j,ij,l 54 55 DO l=ll_begin,ll_end 56 DO j=jj_begin,jj_end 57 DO i=ii_begin,ii_end 58 ij=(j-1)*iim+i 59 ! Perot reconstruction based on Gauss' theorem 60 ! u = sum( u.edge_normal * edge_length * (edge_midpoint-cell_centroid) ) /cell_area 61 ucenter(ij,l,:)=1/Ai(ij)* & 62 ( ne(ij,right)*ue(ij+u_right,l)*le(ij+u_right)*((xyz_v(ij+z_rdown,:)+xyz_v(ij+z_rup,:))/2-centroid(ij,:)) & 63 + ne(ij,rup)*ue(ij+u_rup,l)*le(ij+u_rup)*((xyz_v(ij+z_rup,:)+xyz_v(ij+z_up,:))/2-centroid(ij,:)) & 64 + ne(ij,lup)*ue(ij+u_lup,l)*le(ij+u_lup)*((xyz_v(ij+z_up,:)+xyz_v(ij+z_lup,:))/2-centroid(ij,:)) & 65 + ne(ij,left)*ue(ij+u_left,l)*le(ij+u_left)*((xyz_v(ij+z_lup,:)+xyz_v(ij+z_ldown,:))/2-centroid(ij,:)) & 66 + ne(ij,ldown)*ue(ij+u_ldown,l)*le(ij+u_ldown)*((xyz_v(ij+z_ldown,:)+xyz_v(ij+z_down,:))/2-centroid(ij,:))& 67 + ne(ij,rdown)*ue(ij+u_rdown,l)*le(ij+u_rdown)*((xyz_v(ij+z_down,:)+xyz_v(ij+z_rdown,:))/2-centroid(ij,:))) 68 ENDDO 69 ENDDO 70 ENDDO 71 54 INTEGER :: ij,l 55 REAL(rstd) :: ue_le, cx,cy,cz, ux,uy,uz 56 #include "../kernels/wind_centered.k90" 72 57 END SUBROUTINE compute_wind_centered 58 59 SUBROUTINE compute_flux_centered(ue,ucenter) 60 REAL(rstd) :: ue(3*iim*jjm,llm) 61 REAL(rstd) :: ucenter(iim*jjm,llm,3) 62 INTEGER :: ij,l 63 REAL(rstd) :: ue_le, cx,cy,cz, ux,uy,uz 64 #include "../kernels/flux_centered.k90" 65 END SUBROUTINE compute_flux_centered 73 66 74 67
Note: See TracChangeset
for help on using the changeset viewer.