Changeset 2258 for LMDZ5/branches/testing/libf/dyn3dpar/gcm.F
- Timestamp:
- Apr 13, 2015, 10:21:09 AM (9 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2218,2221-2237
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/dyn3dpar/gcm.F
r2187 r2258 24 24 ! Only INCA needs these informations (from the Earth's physics) 25 25 USE indice_sol_mod 26 USE mod_phys_lmdz_omp_data, ONLY: klon_omp 26 27 #endif 27 28 28 29 #ifdef CPP_PHYS 29 USE mod_grid_phy_lmdz 30 USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb 31 USE mod_phys_lmdz_omp_data, ONLY: klon_omp 32 USE dimphy 33 USE comgeomphy 30 ! USE mod_grid_phy_lmdz 31 ! USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb 32 ! USE dimphy 33 ! USE comgeomphy 34 34 #endif 35 35 IMPLICIT NONE … … 84 84 #endif 85 85 86 INTEGER longcles87 PARAMETER ( longcles = 20 )88 REAL clesphy0( longcles )89 SAVE clesphy090 91 92 93 86 REAL zdtvr 94 87 … … 112 105 113 106 LOGICAL lafin 114 c INTEGER ij,iq,l,i,j115 INTEGER i,j116 117 107 118 108 real time_step, t_wrt, t_ops 119 109 120 121 LOGICAL call_iniphys122 data call_iniphys/.true./123 110 124 111 c+jld variables test conservation energie … … 143 130 144 131 c----------------------------------------------------------------------- 145 c variables pour l'initialisation de la physique :146 c ------------------------------------------------147 INTEGER ngridmx148 PARAMETER( ngridmx = 2+(jjm-1)*iim - 1/jjm )149 REAL zcufi(ngridmx),zcvfi(ngridmx)150 REAL latfi(ngridmx),lonfi(ngridmx)151 REAL airefi(ngridmx)152 SAVE latfi, lonfi, airefi153 154 INTEGER :: ierr155 156 157 c-----------------------------------------------------------------------158 132 c Initialisations: 159 133 c ---------------- … … 172 146 c --------------------------------------- 173 147 c 174 ! Ehouarn: dump possibility of using defrun 175 !#ifdef CPP_IOIPSL 176 CALL conf_gcm( 99, .TRUE. , clesphy0 ) 148 CALL conf_gcm( 99, .TRUE. ) 177 149 if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm", 178 150 s "iphysiq must be a multiple of iperiod", 1) 179 !#else180 ! CALL defrun( 99, .TRUE. , clesphy0 )181 !#endif182 151 c 183 152 c … … 193 162 #ifdef CPP_PHYS 194 163 CALL Init_Phys_lmdz(iim,jjp1,llm,mpi_size,distrib_phys) 195 #endif 164 !#endif 165 ! CALL set_bands 166 !#ifdef CPP_PHYS 167 CALL Init_interface_dyn_phys 168 #endif 169 CALL barrier 170 196 171 CALL set_bands 197 #ifdef CPP_PHYS198 CALL Init_interface_dyn_phys199 #endif200 CALL barrier201 202 172 if (mpi_rank==0) call WriteBands 203 173 call SetDistrib(jj_Nb_Caldyn) … … 207 177 c$OMP END PARALLEL 208 178 209 #ifdef CPP_PHYS210 c$OMP PARALLEL211 call InitComgeomphy 212 c$OMP END PARALLEL213 #endif179 !#ifdef CPP_PHYS 180 !c$OMP PARALLEL 181 ! call InitComgeomphy ! now done in iniphysiq 182 !c$OMP END PARALLEL 183 !#endif 214 184 215 185 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 431 401 c Initialisation de la physique : 432 402 c ------------------------------- 433 IF (call_iniphys.and.(iflag_phys==1.or.iflag_phys>=100)) THEN 434 latfi(1)=rlatu(1) 435 lonfi(1)=0. 436 zcufi(1) = cu(1) 437 zcvfi(1) = cv(1) 438 DO j=2,jjm 439 DO i=1,iim 440 latfi((j-2)*iim+1+i)= rlatu(j) 441 lonfi((j-2)*iim+1+i)= rlonv(i) 442 zcufi((j-2)*iim+1+i) = cu((j-1)*iip1+i) 443 zcvfi((j-2)*iim+1+i) = cv((j-1)*iip1+i) 444 ENDDO 445 ENDDO 446 latfi(ngridmx)= rlatu(jjp1) 447 lonfi(ngridmx)= 0. 448 zcufi(ngridmx) = cu(ip1jm+1) 449 zcvfi(ngridmx) = cv(ip1jm-iim) 450 CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,aire,airefi) 451 452 WRITE(lunout,*) 453 . 'GCM: WARNING!!! vitesse verticale nulle dans la physique' 403 IF ((iflag_phys==1).or.(iflag_phys>=100)) THEN 454 404 ! Physics: 455 405 #ifdef CPP_PHYS 456 CALL iniphysiq( ngridmx,llm,daysec,day_ini,dtphys/nsplit_phys,457 & latfi,lonfi,airefi,zcufi,zcvfi,rad,g,r,cpp,406 CALL iniphysiq(iim,jjm,llm,daysec,day_ini,dtphys/nsplit_phys, 407 & rlatu,rlonv,aire,cu,cv,rad,g,r,cpp, 458 408 & iflag_phys) 459 409 #endif 460 call_iniphys=.false. 461 ENDIF ! of IF (call_iniphys.and.(iflag_phys==1.or.iflag_phys>=100)) 410 ENDIF ! of IF ((iflag_phys==1).or.(iflag_phys>=100)) 462 411 463 412 … … 550 499 551 500 c$OMP PARALLEL DEFAULT(SHARED) COPYIN(/temps/,/logici/,/logicl/) 552 CALL leapfrog_p(ucov,vcov,teta,ps,masse,phis,q,clesphy0, 553 . time_0) 501 CALL leapfrog_p(ucov,vcov,teta,ps,masse,phis,q,time_0) 554 502 c$OMP END PARALLEL 555 503
Note: See TracChangeset
for help on using the changeset viewer.