Changeset 4743 for LMDZ6/branches/Portage_acc/libf/phydev/iophy.F90
- Timestamp:
- Oct 30, 2023, 5:37:00 PM (7 months ago)
- Location:
- LMDZ6/branches/Portage_acc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Portage_acc
- Property svn:mergeinfo changed
-
LMDZ6/branches/Portage_acc/libf/phydev/iophy.F90
r2588 r4743 13 13 14 14 15 #ifdef CPP_XIOS16 15 ! interfaces for both IOIPSL and XIOS 17 16 INTERFACE histwrite_phy 18 17 MODULE PROCEDURE histwrite2d_phy,histwrite3d_phy,histwrite2d_xios,histwrite3d_xios 19 18 END INTERFACE 20 #else 21 ! interfaces for IOIPSL 22 INTERFACE histwrite_phy 23 MODULE PROCEDURE histwrite2d_phy,histwrite3d_phy 24 END INTERFACE 25 #endif 26 27 #ifdef CPP_XIOS 19 28 20 ! interfaces for both IOIPSL and XIOS 29 21 INTERFACE histbeg_phy_all 30 22 MODULE PROCEDURE histbeg_phy, histbeg_phyxios 31 23 END INTERFACE 32 #else33 ! interfaces for IOIPSL34 INTERFACE histbeg_phy_all35 MODULE PROCEDURE histbeg_phy36 END INTERFACE37 #endif38 24 39 25 contains … … 51 37 USE ioipsl, only: flio_dom_set 52 38 #endif 53 #ifdef CPP_XIOS 54 use wxios, only: wxios_domain_param 55 #endif 39 use wxios, only: wxios_domain_param, using_xios 56 40 implicit none 57 41 real,dimension(klon),intent(in) :: rlon … … 122 106 'APPLE',phys_domain_id) 123 107 #endif 124 #ifdef CPP_XIOS 125 ! Set values for the mask: 126 IF (mpi_rank == 0) THEN 127 data_ibegin = 0 128 ELSE 129 data_ibegin = ii_begin - 1 130 END IF 131 132 IF (mpi_rank == mpi_size-1) THEN 133 data_iend = nbp_lon 134 ELSE 135 data_iend = ii_end + 1 136 END IF 137 138 if (prt_level>=10) then 139 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," iibegin=",ii_begin , " ii_end=",ii_end," jjbegin=",jj_begin," jj_nb=",jj_nb," jj_end=",jj_end 140 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," nbp_lon=",nbp_lon," nbp_lat=",nbp_lat 141 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," data_ibegin=",data_ibegin," data_iend=",data_iend 142 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," data_ibegin=",data_ibegin," data_iend=",data_iend 143 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," is_south_pole=",is_south_pole_dyn 144 endif 145 146 ! Initialize the XIOS domain coreesponding to this process: 147 CALL wxios_domain_param("dom_glo", is_sequential, nbp_lon, jj_nb, nbp_lon, nbp_lat, & 148 1, nbp_lon, ii_begin, ii_end, jj_begin, jj_end, & 149 klon_mpi+2*(nbp_lon-1), data_ibegin, data_iend, & 150 io_lat, io_lon,is_south_pole_dyn,mpi_rank) 151 #endif 108 IF (using_xios) THEN 109 ! Set values for the mask: 110 IF (mpi_rank == 0) THEN 111 data_ibegin = 0 112 ELSE 113 data_ibegin = ii_begin - 1 114 END IF 115 116 IF (mpi_rank == mpi_size-1) THEN 117 data_iend = nbp_lon 118 ELSE 119 data_iend = ii_end + 1 120 END IF 121 122 if (prt_level>=10) then 123 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," iibegin=",ii_begin , " ii_end=",ii_end," jjbegin=",jj_begin," jj_nb=",jj_nb," jj_end=",jj_end 124 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," nbp_lon=",nbp_lon," nbp_lat=",nbp_lat 125 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," data_ibegin=",data_ibegin," data_iend=",data_iend 126 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," data_ibegin=",data_ibegin," data_iend=",data_iend 127 write(lunout,*) "init_iophy_new: mpirank=",mpi_rank," is_south_pole=",is_south_pole_dyn 128 endif 129 130 ! Initialize the XIOS domain coreesponding to this process: 131 CALL wxios_domain_param("dom_glo") 132 ! CALL wxios_domain_param("dom_glo", is_sequential, nbp_lon, jj_nb, nbp_lon, nbp_lat, & 133 ! 1, nbp_lon, ii_begin, ii_end, jj_begin, jj_end, & 134 ! klon_mpi+2*(nbp_lon-1), data_ibegin, data_iend, & 135 ! io_lat, io_lon,is_south_pole_dyn,mpi_rank) 136 ENDIF 152 137 !$OMP END MASTER 153 138 … … 184 169 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 185 170 186 #ifdef CPP_XIOS187 171 188 172 ! SUBROUTINE histbeg_phyxios(name,itau0,zjulian,dtime,ffreq,lev,nhori,nid_day) … … 213 197 END SUBROUTINE histbeg_phyxios 214 198 215 #endif216 199 217 200 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 339 322 340 323 ! VERSION DES HISTWRITE DEDIEES AU TOUT-XIOS-XML DEJA UTILISEE DANS PHYDEV 341 #ifdef CPP_XIOS 324 342 325 SUBROUTINE histwrite2d_xios(field_name,field) 343 326 USE dimphy, only: klon 344 327 USE mod_phys_lmdz_para, only: gather_omp, grid1Dto2D_mpi, & 345 328 jj_nb, klon_mpi 346 USE xios, only: xios_send_field329 USE lmdz_xios, only: xios_send_field 347 330 USE print_control_mod, ONLY: prt_level, lunout 348 331 USE mod_grid_phy_lmdz, ONLY: nbp_lon … … 368 351 IF (prt_level >= 10) WRITE(lunout,*)'End histrwrite2d_xios ',trim(field_name) 369 352 END SUBROUTINE histwrite2d_xios 370 #endif371 353 372 354 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 373 355 374 356 ! VERSION DES HISTWRITE DEDIEES AU TOUT-XIOS-XML DEJA UTILISEE DANS PHYDEV 375 #ifdef CPP_XIOS 357 376 358 SUBROUTINE histwrite3d_xios(field_name, field) 377 359 USE dimphy, only: klon, klev 378 360 USE mod_phys_lmdz_para, only: gather_omp, grid1Dto2D_mpi, & 379 361 jj_nb, klon_mpi 380 USE xios, only: xios_send_field362 USE lmdz_xios, only: xios_send_field 381 363 USE print_control_mod, ONLY: prt_level,lunout 382 364 USE mod_grid_phy_lmdz, ONLY: nbp_lon … … 407 389 IF (prt_level >= 10) write(lunout,*)'End histrwrite3d_xios ',trim(field_name) 408 390 END SUBROUTINE histwrite3d_xios 409 #endif410 391 411 392 end module iophy
Note: See TracChangeset
for help on using the changeset viewer.