Changeset 595 for codes/icosagcm/devel/src
- Timestamp:
- 10/19/17 10:32:52 (7 years ago)
- Location:
- codes/icosagcm/devel/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/diagnostics/diagflux.F90
r594 r595 150 150 INTEGER :: ij, l, ij_omp_begin_ext, ij_omp_end_ext 151 151 Rd = kappa*cpp 152 CALL distrib_level(ij_end_ext-ij_begin_ext+1,ij_omp_begin_ext,ij_omp_end_ext) 153 ij_omp_begin_ext = ij_omp_begin_ext+ij_begin_ext-1 154 ij_omp_end_ext = ij_omp_end_ext+ij_begin_ext-1 152 ! even if loops are of the _ext variant, we still need halo exchanges before reconstructing fluxes at cell centers 153 ! => loop over interior region 154 CALL distrib_level(ij_end-ij_begin+1,ij_omp_begin_ext,ij_omp_end_ext) 155 ij_omp_begin_ext = ij_omp_begin_ext+ij_begin-1 156 ij_omp_end_ext = ij_omp_end_ext+ij_begin-1 155 157 #include "../kernels/energy_fluxes.k90" 156 158 END SUBROUTINE compute_diagflux_energy -
codes/icosagcm/devel/src/diagnostics/observable.f90
r594 r595 167 167 CALL output_field("massflux_lon",f_buf_ulon) 168 168 CALL output_field("massflux_lat",f_buf_ulat) 169 170 CALL transfert_request(f_epotfluxt,req_e1_vect) 169 171 CALL flux_centered_lonlat(1./(itau_out*dt) , f_epotfluxt, f_buf_ulon, f_buf_ulat) 170 172 CALL output_field("epot_t", f_epot) 171 173 CALL output_field("epotflux_lon",f_buf_ulon) 172 174 CALL output_field("epotflux_lat",f_buf_ulat) 175 176 CALL transfert_request(f_ekinfluxt,req_e1_vect) 173 177 CALL flux_centered_lonlat(1./(itau_out*dt) , f_ekinfluxt, f_buf_ulon, f_buf_ulat) 174 178 CALL output_field("ekin_t", f_ekin) 175 179 CALL output_field("ekinflux_lon",f_buf_ulon) 176 180 CALL output_field("ekinflux_lat",f_buf_ulat) 181 182 CALL transfert_request(f_enthalpyfluxt,req_e1_vect) 177 183 CALL flux_centered_lonlat(1./(itau_out*dt) , f_enthalpyfluxt, f_buf_ulon, f_buf_ulat) 178 184 CALL output_field("enthalpy_t", f_enthalpy) 179 185 CALL output_field("enthalpyflux_lon",f_buf_ulon) 180 186 CALL output_field("enthalpyflux_lat",f_buf_ulat) 187 181 188 CALL qflux_centered_lonlat(1./(itau_out*dt) , f_qfluxt, f_qfluxt_lon, f_qfluxt_lat) 182 189 CALL output_field("qmass_t", f_qmasst) -
codes/icosagcm/devel/src/time/timeloop_gcm.f90
r594 r595 304 304 305 305 IF(MOD(it,itau_adv)==0) THEN 306 IF(diagflux_on) CALL diagflux_energy(adv_over_out, f_phis,f_rhodz,f_theta_rhodz,f_u, f_geopot,f_theta, f_hfluxt)307 306 CALL advect_tracer(f_hfluxt,f_wfluxt,f_u, f_q,f_rhodz, & ! update q and rhodz after RK step 308 307 adv_over_out, f_masst,f_qmasst,f_massfluxt, f_qfluxt) ! accumulate mass and fluxes if diagflux_on 309 308 fluxt_zero=.TRUE. ! restart accumulation of hfluxt and qfluxt at next call to explicit_scheme / HEVI_scheme 309 ! At this point advect_tracer has obtained the halos of u and rhodz, 310 ! needed for correct computation of kinetic energy 311 IF(diagflux_on) CALL diagflux_energy(adv_over_out, f_phis,f_rhodz,f_theta_rhodz,f_u, f_geopot,f_theta, f_hfluxt) 312 310 313 IF (check_rhodz) THEN ! check that rhodz is consistent with ps 311 314 DO ind=1,ndomain
Note: See TracChangeset
for help on using the changeset viewer.