Changeset 5250 for LMDZ6/trunk
- Timestamp:
- Oct 22, 2024, 11:55:35 AM (2 months ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d/gcm.F90
r4619 r5250 25 25 USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, g, r, rad 26 26 USE logic_mod, ONLY: ecripar, iflag_phys, read_start 27 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 27 28 28 29 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 30 31 ! A nettoyer. On ne veut qu'une ou deux routines d'interface 31 32 ! dynamique -> physique pour l'initialisation 32 #ifdef CPP_PHYS33 33 USE iniphysiq_mod, ONLY: iniphysiq 34 #endif35 34 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 36 35 … … 406 405 407 406 IF ((iflag_phys==1).or.(iflag_phys>=100)) THEN 408 409 #ifdef CPP_PHYS 410 CALL iniphysiq(iim,jjm,llm, &411 (jjm-1)*iim+2,comm_lmdz, &412 daysec,day_ini,dtphys/nsplit_phys, &413 rlatu,rlatv,rlonu,rlonv,aire,cu,cv,rad,g,r,cpp, &414 iflag_phys)415 #endif 407 ! Physics: 408 IF (CPPKEY_PHYS) THEN 409 CALL iniphysiq(iim, jjm, llm, & 410 (jjm - 1) * iim + 2, comm_lmdz, & 411 daysec, day_ini, dtphys / nsplit_phys, & 412 rlatu, rlatv, rlonu, rlonv, aire, cu, cv, rad, g, r, cpp, & 413 iflag_phys) 414 END IF 416 415 ENDIF ! of IF ((iflag_phys==1).or.(iflag_phys>=100)) 417 416 -
LMDZ6/trunk/libf/dyn3d/leapfrog.F90
r5246 r5250 27 27 start_time,dt 28 28 USE strings_mod, ONLY: msg 29 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 29 30 30 31 IMPLICIT NONE … … 462 463 #endif 463 464 ! #endif of #ifdef CPP_IOIPSL 464 #ifdef CPP_PHYS 465 IF (CPPKEY_PHYS) THEN 465 466 CALL calfis( lafin , jD_cur, jH_cur, & 466 467 ucov,vcov,teta,q,masse,ps,p,pk,phis,phi , & 467 468 du,dv,dteta,dq, & 468 469 flxw,dufi,dvfi,dtetafi,dqfi,dpfi ) 469 #endif 470 END IF 470 471 ! ajout des tendances physiques: 471 472 ! ------------------------------ -
LMDZ6/trunk/libf/dyn3d/replay3d.F90
r4589 r5250 28 28 ! A nettoyer. On ne veut qu'une ou deux routines d'interface 29 29 ! dynamique -> physique pour l'initialisation 30 #ifdef CPP_PHYS31 30 USE iniphysiq_mod, ONLY: iniphysiq 32 #endif33 31 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 34 32 -
LMDZ6/trunk/libf/dyn3dmem/bands.F90
r2771 r5250 381 381 subroutine AdjustBands_physic 382 382 use times 383 #ifdef CPP_PHYS384 383 ! Ehouarn: what follows is only related to // physics 385 384 USE mod_phys_lmdz_para, only : klon_mpi_para_nb 386 #endif 385 387 386 USE parallel_lmdz 387 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 388 388 389 implicit none 389 390 … … 408 409 medium=medium/mpi_size 409 410 NbTot=0 410 #ifdef CPP_PHYS 411 IF (CPPKEY_PHYS) THEN 411 412 do i=0,mpi_size-1 412 413 Inc(i)=nint(klon_mpi_para_nb(i)*(medium-value(i))/value(i)) 413 NbTot=NbTot+Inc(i) 414 enddo 415 414 NbTot=NbTot+Inc(i) 415 enddo 416 416 417 if (NbTot>=0) then 417 418 Sgn=1 … … 420 421 NbTot=-NbTot 421 422 endif 422 423 423 424 Index=0 424 425 do i=1,NbTot … … 427 428 if (Index>mpi_size-1) Index=0 428 429 enddo 429 430 430 431 do i=0,mpi_size-1 431 432 distrib_phys(i)=klon_mpi_para_nb(i)+inc(i) 432 433 enddo 433 #endif 434 END IF 434 435 435 436 end subroutine AdjustBands_physic -
LMDZ6/trunk/libf/dyn3dmem/call_calfis_mod.F90
r5084 r5250 88 88 USE comvert_mod, ONLY: ap, bp, pressure_exner 89 89 USE temps_mod, ONLY: day_ini, day_ref, jd_ref, jh_ref, start_time 90 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 91 90 92 91 93 IMPLICIT NONE … … 230 232 !$OMP BARRIER 231 233 232 #ifdef CPP_PHYS 234 IF (CPPKEY_PHYS) THEN 233 235 CALL calfis_loc(lafin ,jD_cur, jH_cur, & 234 236 ucov,vcov,teta,q,masse,ps,p,pk,phis,phi , & 235 237 du,dv,dteta,dq, & 236 238 flxw, dufi,dvfi,dtetafi,dqfi,dpfi ) 237 #endif 239 END IF 238 240 ijb=ij_begin 239 241 ije=ij_end -
LMDZ6/trunk/libf/dyn3dmem/gcm.F90
r4996 r5250 20 20 USE control_mod 21 21 22 #ifdef CPP_PHYS23 22 USE iniphysiq_mod, ONLY: iniphysiq 24 #endif25 23 USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, g, r, rad 26 24 USE logic_mod ! all of it, because of copyin clause when calling leapfrog … … 29 27 dt,hour_ini,itaufin 30 28 USE mod_xios_dyn3dmem, ONLY: xios_dyn3dmem_init 29 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 30 31 31 32 32 IMPLICIT NONE … … 415 415 IF ((iflag_phys==1).or.(iflag_phys>=100)) THEN 416 416 ! Physics: 417 #ifdef CPP_PHYS 417 IF (CPPKEY_PHYS) THEN 418 418 CALL iniphysiq(iim,jjm,llm, & 419 419 distrib_phys(mpi_rank),comm_lmdz, & … … 421 421 rlatu,rlatv,rlonu,rlonv,aire,cu,cv,rad,g,r,cpp, & 422 422 iflag_phys) 423 #endif 423 END IF 424 424 ENDIF ! of IF ((iflag_phys==1).or.(iflag_phys>=100)) 425 425 -
LMDZ6/trunk/libf/dynphy_lonlat/calfis.F90
r5246 r5250 31 31 USE infotrac, ONLY: nqtot, tracers 32 32 USE control_mod, ONLY: planet_type, nsplit_phys 33 #ifdef CPP_PHYS34 33 USE callphysiq_mod, ONLY: call_physiq 35 #endif36 34 USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, kappa, pi 37 35 USE comvert_mod, ONLY: preff, presnivs 36 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 38 37 39 38 IMPLICIT NONE … … 475 474 zdqfic(:,:,:)=0. 476 475 477 #ifdef CPP_PHYS 476 IF (CPPKEY_PHYS) THEN 478 477 479 478 do isplit=1,nsplit_phys … … 534 533 enddo ! of do isplit=1,nsplit_phys 535 534 536 #endif 535 END IF 537 536 ! of #ifdef CPP_PHYS 538 537 -
LMDZ6/trunk/libf/dynphy_lonlat/calfis_loc.F90
r5246 r5250 26 26 pdqfi, & 27 27 pdpsfi) 28 #ifdef CPP_PHYS 29 ! If using physics 30 ! 28 31 29 ! Auteur : P. Le Van, F. Hourdin 32 30 ! ......... … … 37 35 USE mod_interface_dyn_phys 38 36 USE IOPHY 39 #endif40 37 USE lmdz_mpi 41 38 … … 49 46 USE infotrac, ONLY: nqtot, tracers 50 47 USE control_mod, ONLY: planet_type, nsplit_phys 51 #ifdef CPP_PHYS52 48 USE callphysiq_mod, ONLY: call_physiq 53 #endif54 49 USE comvert_mod, ONLY: preff, presnivs 55 50 USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, kappa, pi 51 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 52 56 53 57 54 #ifdef CPP_PARA … … 148 145 REAL,INTENT(OUT) :: pdpsfi(iip1,jjb_u:jje_u) ! tendency on surface pressure (Pa/s) 149 146 150 #ifdef CPP_PHYS151 147 ! Ehouarn: for now calfis_p needs some informations from physics to compile 152 148 ! Local variables : … … 193 189 ! Introduction du splitting (FH) 194 190 ! Question pour Yann : 195 ! J'ai été surpris au début que les tableaux zufi_omp, zdufi_omp n'co soitent191 ! J'ai �t� surpris au d�but que les tableaux zufi_omp, zdufi_omp n'co soitent 196 192 ! en SAVE. Je crois comprendre que c'est parce que tu voulais qu'il 197 193 ! soit allocatable (plutot par exemple que de passer une dimension 198 ! d épendant du process en argument des routines) et que, du coup,199 ! le SAVE évite d'avoir à refaire l'allocation àchaque appel.194 ! d�pendant du process en argument des routines) et que, du coup, 195 ! le SAVE �vite d'avoir � refaire l'allocation � chaque appel. 200 196 ! Tu confirmes ? 201 ! J'ai suivi le m ême principe pour les zdufic_omp197 ! J'ai suivi le m�me principe pour les zdufic_omp 202 198 ! Mais c'est surement bien que tu controles. 203 199 ! … … 238 234 INTEGER :: offset 239 235 INTEGER :: jjb,jje 236 237 IF (CPPKEY_PHYS) THEN 240 238 241 239 ! … … 721 719 zdqfic_omp(:,:,:)=0. 722 720 723 #ifdef CPP_PHYS 721 IF (CPPKEY_PHYS) THEN 724 722 do isplit=1,nsplit_phys 725 723 … … 752 750 enddo 753 751 754 #endif 752 END IF 755 753 ! of #ifdef CPP_PHYS 756 754 … … 1210 1208 firstcal = .FALSE. 1211 1209 1212 #else 1210 ELSE 1213 1211 call abort_gcm("calfis_loc", & 1214 1212 "calfis_p: for now can only work with parallel physics", 1) 1215 #endif 1216 ! of #ifdef CPP_PHYS 1213 END IF 1217 1214 #endif 1218 1215 ! of #ifdef CPP_PARA
Note: See TracChangeset
for help on using the changeset viewer.