Changeset 347 for codes/icosagcm/trunk/src/caldyn_gcm.f90
- Timestamp:
- 08/01/15 15:05:27 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/caldyn_gcm.f90
r327 r347 223 223 CALL compute_pvort(ps,u,theta_rhodz, mass,theta,qu,qv) 224 224 ENDDO 225 ! CALL checksum(f_mass) 226 ! CALL checksum(f_theta) 225 227 226 228 CALL send_message(f_qu,req_qu) … … 252 254 END IF 253 255 ENDDO 256 257 ! CALL checksum(f_geopot) 258 ! CALL checksum(f_dmass) 259 ! CALL checksum(f_pk) 260 ! CALL checksum(f_pk) 254 261 255 262 CASE(enstrophy) ! enstrophy-conserving … … 294 301 ! CALL write_output_fields(f_ps, f_phis, f_dps, f_u, f_theta_rhodz, f_q, & 295 302 ! f_buf_i, f_buf_v, f_buf_u3d, f_buf_ulon, f_buf_ulat, f_buf_s, f_buf_p) 296 CALL un2ulonlat(f_u, f_buf_ulon, f_buf_ulat)297 CALL output_field("ulon",f_buf_ulon)298 CALL output_field("ulat",f_buf_ulat)299 300 CALL output_field("ps",f_ps)301 CALL output_field("dps",f_dps)302 CALL output_field("mass",f_mass)303 CALL output_field("dmass",f_dmass)304 CALL output_field("vort",f_qv)305 CALL output_field("theta",f_theta)306 CALL output_field("exner",f_pk)307 CALL output_field("pv",f_qv)308 303 ! CALL un2ulonlat(f_u, f_buf_ulon, f_buf_ulat) 304 ! CALL output_field("ulon",f_buf_ulon) 305 ! CALL output_field("ulat",f_buf_ulat) 306 307 ! CALL output_field("ps",f_ps) 308 ! CALL output_field("dps",f_dps) 309 ! CALL output_field("mass",f_mass) 310 ! CALL output_field("dmass",f_dmass) 311 ! CALL output_field("vort",f_qv) 312 ! CALL output_field("theta",f_theta) 313 ! CALL output_field("exner",f_pk) 314 ! CALL output_field("pv",f_qv) 315 ! 309 316 END IF 310 317 … … 439 446 INTEGER :: i,j,ij,l 440 447 REAL(rstd) :: p_ik, exner_ik 441 INTEGER,SAVE ::ij_omp_begin_ext, ij_omp_end_ext 442 !$OMP THREADPRIVATE(ij_omp_begin_ext, ij_omp_end_ext) 443 LOGICAL,SAVE :: first=.TRUE. 444 !$OMP THREADPRIVATE(first) 448 INTEGER :: ij_omp_begin_ext, ij_omp_end_ext 445 449 446 450 447 451 CALL trace_start("compute_geopot") 448 452 449 IF (first) THEN 450 first=.FALSE. 451 CALL distrib_level(ij_end_ext-ij_begin_ext+1,ij_omp_begin_ext,ij_omp_end_ext) 452 ij_omp_begin_ext=ij_omp_begin_ext+ij_begin_ext-1 453 ij_omp_end_ext=ij_omp_end_ext+ij_begin_ext-1 454 ENDIF 453 CALL distrib_level(ij_end_ext-ij_begin_ext+1,ij_omp_begin_ext,ij_omp_end_ext) 454 ij_omp_begin_ext=ij_omp_begin_ext+ij_begin_ext-1 455 ij_omp_end_ext=ij_omp_end_ext+ij_begin_ext-1 455 456 456 457 IF(caldyn_eta==eta_mass) THEN … … 798 799 INTEGER :: i,j,ij,l 799 800 REAL(rstd) :: p_ik, exner_ik 800 INTEGER,SAVE ::ij_omp_begin, ij_omp_end 801 !$OMP THREADPRIVATE(ij_omp_begin, ij_omp_end) 802 LOGICAL,SAVE :: first=.TRUE. 803 !$OMP THREADPRIVATE(first) 801 INTEGER :: ij_omp_begin, ij_omp_end 804 802 805 803 806 804 CALL trace_start("compute_geopot") 807 808 IF (first) THEN 809 first=.FALSE. 810 CALL distrib_level(ij_end-ij_begin+1,ij_omp_begin,ij_omp_end) 811 ij_omp_begin=ij_omp_begin+ij_begin-1 812 ij_omp_end=ij_omp_end+ij_begin-1 813 ENDIF 805 806 CALL distrib_level(ij_end-ij_begin+1,ij_omp_begin,ij_omp_end) 807 ij_omp_begin=ij_omp_begin+ij_begin-1 808 ij_omp_end=ij_omp_end+ij_begin-1 814 809 815 810 ! REAL(rstd) :: wwuu(iim*3*jjm,llm+1) ! tmp var, don't know why but gain 30% on the whole code in opemp … … 959 954 USE pression_mod 960 955 USE omega_mod 961 USE write_field 956 USE write_field_mod 962 957 USE vertical_interp_mod 963 958 USE wind_mod
Note: See TracChangeset
for help on using the changeset viewer.