Changeset 880 for codes/icosagcm/devel/src/sphere/compute_geometry.f90
- Timestamp:
- 06/04/19 18:30:08 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/sphere/compute_geometry.f90
r863 r880 1 1 MODULE compute_geometry_mod 2 2 USE geometry 3 USE dimensions 4 5 USE domain_mod, ONLY : t_domain, t_cellset, & 6 domain, ndomain, assigned_domain, & 7 domain_glo, ndomain_glo, domloc_glo_ind, swap_needed 8 USE omp_para, ONLY : is_omp_level_master, is_master 9 USE transfert_mod, ONLY : req_i0, req_i1, t_message, transfert_request, transfert_message, init_message 10 11 USE spherical_geom_mod, ONLY : xyz2lonlat, circumcenter, & 12 compute_centroid, centroid, & 13 surf_triangle, dist_cart, div_arc_bis, & 14 schmidt_transform 15 USE vector, ONLY : norm, cross_product2 16 3 17 IMPLICIT NONE 4 18 PRIVATE … … 10 24 11 25 SUBROUTINE update_circumcenters 12 USE domain_mod 13 USE dimensions 14 USE spherical_geom_mod 15 USE vector 16 USE transfert_mod 17 USE omp_para 18 19 IMPLICIT NONE 26 20 27 REAL(rstd) :: x1(3),x2(3) 21 28 REAL(rstd) :: vect(3,6) … … 36 43 37 44 DO ind=1,ndomain 38 IF (.NOT. assigned_domain(ind) .OR. .NOT. is_omp_level_master) CYCLE 45 39 46 CALL swap_dimensions(ind) 40 47 CALL swap_geometry(ind) … … 55 62 56 63 SUBROUTINE remap_schmidt_loc 57 USE spherical_geom_mod58 64 USE getin_mod 59 USE omp_para60 USE domain_mod61 USE dimensions62 IMPLICIT NONE63 65 INTEGER :: ind,i,j,n 64 66 REAL(rstd) :: schmidt_factor, schmidt_lon, schmidt_lat … … 91 93 92 94 SUBROUTINE optimize_geometry 93 USE metric94 USE spherical_geom_mod95 USE domain_mod96 USE dimensions97 USE transfert_mod98 USE vector99 95 USE getin_mod 100 USE omp_para101 IMPLICIT NONE102 96 INTEGER :: nb_it=0 103 97 TYPE(t_domain),POINTER :: d … … 193 187 ! copy position of generators and vertices back into domain(:)%xyz/vertex 194 188 ! so that XIOS/create_header_gen gets the right values 195 USE omp_para 196 USE dimensions 197 USE domain_mod 198 USE transfert_mpi_mod 189 USE transfert_mpi_mod, ONLY : gather_field, bcast_field 199 190 200 191 INTEGER :: ind,i,j,k,n … … 253 244 SUBROUTINE set_geometry 254 245 USE metric 255 USE vector256 USE spherical_geom_mod257 USE domain_mod258 USE dimensions259 USE transfert_mod260 USE getin_mod261 USE omp_para262 IMPLICIT NONE263 246 264 247 REAL(rstd) :: surf(6) … … 279 262 CALL remap_schmidt_loc 280 263 CALL update_circumcenters 281 ! copy position of generators and vertices back into domain(:)%xyz/vertex282 ! so that XIOS gets the right values283 CALL update_domain284 264 285 265 DO ind=1,ndomain … … 527 507 528 508 END SUBROUTINE set_geometry 529 509 530 510 SUBROUTINE compute_wee(n,pos,w) 531 IMPLICIT NONE532 511 INTEGER,INTENT(IN) :: n 533 512 INTEGER,INTENT(IN) :: pos … … 555 534 END SUBROUTINE compute_wee 556 535 557 558 536 559 537 SUBROUTINE compute_geometry 560 538 USE grid_param 561 USE domain_mod, ONLY : swap_needed562 539 USE init_unstructured_mod, ONLY : read_local_mesh 563 IMPLICIT NONE 564 540 USE set_bounds_mod, ONLY : set_bounds 565 541 CALL allocate_geometry 566 542 … … 568 544 CASE(grid_ico) 569 545 CALL set_geometry 546 ! copy position of generators and vertices back into domain_glo(:)%xyz/vertex 547 ! so that write_field gets the right values 548 CALL update_domain 549 CALL set_bounds(domain_glo, .TRUE.) 550 CALL set_bounds(domain, .FALSE.) 570 551 CASE(grid_unst) 571 552 swap_needed=.FALSE.
Note: See TracChangeset
for help on using the changeset viewer.