Changeset 356
- Timestamp:
- 09/03/15 13:45:52 (9 years ago)
- Location:
- codes/icosagcm/trunk/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/etat0_dcmip3.f90
r353 r356 35 35 ulon(ij,l),ulat(ij,l),dummy,Temp(ij,l),dummy,dummy,dummy,dummy) 36 36 END DO 37 q(:,l,:)=0. 37 38 END DO 38 q(:,:,:)=0.39 39 40 END SUBROUTINE compute_etat0 40 41 -
codes/icosagcm/trunk/src/geometry.f90
r324 r356 1 1 MODULE geometry 2 2 USE field_mod 3 3 IMPLICIT NONE 4 4 5 TYPE t_geometry 5 6 TYPE(t_field),POINTER :: centroid(:) … … 205 206 END SUBROUTINE update_circumcenters 206 207 208 SUBROUTINE remap_schmidt_loc 209 USE spherical_geom_mod 210 USE getin_mod 211 USE omp_para 212 USE domain_mod 213 USE dimensions 214 IMPLICIT NONE 215 INTEGER :: ind,i,j,n 216 REAL(rstd) :: schmidt_factor, schmidt_lon, schmidt_lat 217 218 ! Schmidt transform parameters 219 schmidt_factor = 1. 220 CALL getin('schmidt_factor', schmidt_factor) 221 schmidt_factor = schmidt_factor**2. 222 223 schmidt_lon = 0. 224 CALL getin('schmidt_lon', schmidt_lon) 225 schmidt_lon = schmidt_lon * pi/180. 226 227 schmidt_lat = 45. 228 CALL getin('schmidt_lat', schmidt_lat) 229 schmidt_lat = schmidt_lat * pi/180. 230 231 DO ind=1,ndomain 232 IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 233 CALL swap_dimensions(ind) 234 CALL swap_geometry(ind) 235 DO j=jj_begin,jj_end 236 DO i=ii_begin,ii_end 237 n=(j-1)*iim+i 238 CALL schmidt_transform(xyz_i(n,:), schmidt_factor, schmidt_lon, schmidt_lat) 239 ENDDO 240 ENDDO 241 ENDDO 242 END SUBROUTINE remap_schmidt_loc 243 207 244 SUBROUTINE optimize_geometry 208 245 USE metric … … 303 340 END SUBROUTINE optimize_geometry 304 341 342 SUBROUTINE update_domain 343 ! copy position of generators and vertices back into domain(:)%xyz/vertex 344 ! so that XIOS gets the right values 345 USE omp_para 346 USE dimensions 347 USE domain_mod 348 INTEGER :: ind,i,j,k,n 349 TYPE(t_domain),POINTER :: d 350 DO ind=1,ndomain 351 IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master ) CYCLE 352 d=>domain(ind) 353 CALL swap_dimensions(ind) 354 CALL swap_geometry(ind) 355 DO j=jj_begin,jj_end 356 DO i=ii_begin,ii_end 357 n=(j-1)*iim+i 358 d%xyz(:,i,j)=xyz_i(n,:) 359 DO k=0,5 360 d%vertex(:,k,i,j) = xyz_v(n+z_pos(k+1),:) 361 END DO 362 END DO 363 END DO 364 END DO 365 END SUBROUTINE update_domain 366 305 367 SUBROUTINE set_geometry 306 368 USE metric … … 329 391 330 392 CALL optimize_geometry 331 393 CALL remap_schmidt_loc 394 CALL update_circumcenters 395 ! copy position of generators and vertices back into domain(:)%xyz/vertex 396 ! so that XIOS gets the right values 397 CALL update_domain 398 332 399 DO ind=1,ndomain 333 400 IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master ) CYCLE -
codes/icosagcm/trunk/src/metric.f90
r352 r356 55 55 CONTAINS 56 56 57 SUBROUTINE remap_schmidt 57 SUBROUTINE remap_schmidt_glo ! FIXME : not called any more 58 58 USE spherical_geom_mod 59 59 USE getin_mod … … 82 82 END DO 83 83 END DO 84 END SUBROUTINE remap_schmidt 84 END SUBROUTINE remap_schmidt_glo 85 85 86 86 SUBROUTINE allocate_metric … … 858 858 ! CALL compute_face 859 859 CALL compute_face_projection 860 CALL remap_schmidt 860 ! CALL remap_schmidt_glo ! replaced by call to remap_schmidt_loc in set_geometry 861 861 862 862 CALL set_index -
codes/icosagcm/trunk/src/observable.f90
r354 r356 37 37 CALL output_field("ulat",f_buf_ulat) 38 38 CALL output_field("ps",f_ps) 39 CALL output_field("Ai",geom%Ai) 39 40 ! CALL output_field("dps",f_dps) 40 41 !CALL output_field("mass",f_mass)
Note: See TracChangeset
for help on using the changeset viewer.