Changeset 2258 for LMDZ5/branches/testing/libf/dyn3dmem
- Timestamp:
- Apr 13, 2015, 10:21:09 AM (10 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 1 deleted
- 7 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/dyn3dmem/calfis_loc.F
r2056 r2258 21 21 $ pdq, 22 22 $ flxw, 23 $ clesphy0,24 23 $ pdufi, 25 24 $ pdvfi, … … 141 140 REAL,INTENT(OUT) :: pdqfi(iip1,jjb_u:jje_u,llm,nqtot) ! tendency on tracers 142 141 REAL,INTENT(OUT) :: pdpsfi(iip1,jjb_u:jje_u) ! tendency on surface pressure (Pa/s) 143 144 INTEGER,PARAMETER :: longcles = 20145 REAL,INTENT(IN) :: clesphy0( longcles ) ! unused146 147 142 148 143 #ifdef CPP_PHYS … … 674 669 . zphis_omp, 675 670 . presnivs_omp, 676 . clesphy0,677 671 . zufi_omp, 678 672 . zvfi_omp, 679 673 . ztfi_omp, 680 674 . zqfi_omp, 681 c#ifdef INCA682 675 . flxwfi_omp, 683 c#endif684 676 . zdufi_omp, 685 677 . zdvfi_omp, -
LMDZ5/branches/testing/libf/dyn3dmem/call_calfis_mod.F90
r2056 r2258 68 68 69 69 70 SUBROUTINE call_calfis(itau,lafin, clesphy0,ucov_dyn,vcov_dyn,teta_dyn,masse_dyn,ps_dyn, &70 SUBROUTINE call_calfis(itau,lafin,ucov_dyn,vcov_dyn,teta_dyn,masse_dyn,ps_dyn, & 71 71 phis_dyn,q_dyn,flxw_dyn) 72 72 USE dimensions_mod … … 91 91 INTEGER,INTENT(IN) :: itau ! (time) iteration step number 92 92 LOGICAL,INTENT(IN) :: lafin ! .true. if final time step 93 REAL,INTENT(IN) :: clesphy0( : ) ! not used94 93 REAL,INTENT(INOUT) :: ucov_dyn(ijb_u:ije_u,llm) ! covariant zonal wind 95 94 REAL,INTENT(INOUT) :: vcov_dyn(ijb_v:ije_v,llm) ! covariant meridional wind … … 231 230 ucov,vcov,teta,q,masse,ps,p,pk,phis,phi , & 232 231 du,dv,dteta,dq, & 233 flxw, & 234 clesphy0, dufi,dvfi,dtetafi,dqfi,dpfi ) 232 flxw, dufi,dvfi,dtetafi,dqfi,dpfi ) 235 233 236 234 ijb=ij_begin -
LMDZ5/branches/testing/libf/dyn3dmem/ce0l.F90
r1999 r2258 48 48 #endif 49 49 50 INTEGER, PARAMETER :: longcles=2051 50 INTEGER :: ierr 52 REAL, DIMENSION(longcles) :: clesphy053 51 REAL, DIMENSION(iip1,jjp1) :: masque 54 52 CHARACTER(LEN=15) :: calnd 55 53 REAL, DIMENSION(iip1,jjp1) :: phis ! geopotentiel au sol 56 54 !------------------------------------------------------------------------------- 57 CALL conf_gcm( 99, .TRUE. , clesphy0)55 CALL conf_gcm( 99, .TRUE. ) 58 56 59 57 #ifdef CPP_MPI -
LMDZ5/branches/testing/libf/dyn3dmem/conf_gcm.F90
r2160 r2258 2 2 ! $Id$ 3 3 4 SUBROUTINE conf_gcm( tapedef, etatinit , clesphy0)4 SUBROUTINE conf_gcm( tapedef, etatinit ) 5 5 6 6 USE control_mod … … 27 27 ! etatinit : = TRUE , on ne compare pas les valeurs des para- 28 28 ! -metres du zoom avec celles lues sur le fichier start . 29 ! clesphy0 : sortie . 30 31 LOGICAL etatinit 32 INTEGER tapedef 33 34 INTEGER longcles 35 PARAMETER( longcles = 20 ) 36 REAL clesphy0( longcles ) 29 30 LOGICAL,INTENT(IN) :: etatinit 31 INTEGER,INTENT(IN) :: tapedef 37 32 38 33 ! Declarations : … … 45 40 include "temps.h" 46 41 include "comconst.h" 47 48 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique49 ! include "clesphys.h"50 42 include "iniprint.h" 51 43 … … 768 760 !Config Help = extension en longitude de la zone du zoom 769 761 !Config ( fraction de la zone totale) 770 dzoomx = 0. 0762 dzoomx = 0.2 771 763 CALL getin('dzoomx',dzoomx) 764 call assert(dzoomx < 1, "conf_gcm: dzoomx must be < 1") 772 765 773 766 !Config Key = dzoomy … … 776 769 !Config Help = extension en latitude de la zone du zoom 777 770 !Config ( fraction de la zone totale) 778 dzoomy = 0. 0771 dzoomy = 0.2 779 772 CALL getin('dzoomy',dzoomy) 773 call assert(dzoomy < 1, "conf_gcm: dzoomy must be < 1") 780 774 781 775 !Config Key = taux -
LMDZ5/branches/testing/libf/dyn3dmem/gcm.F
r2187 r2258 1 1 ! 2 ! $Id $2 ! $Id: $ 3 3 ! 4 4 c … … 23 23 ! Only INCA needs these informations (from the Earth's physics) 24 24 USE indice_sol_mod 25 USE mod_phys_lmdz_omp_data, ONLY: klon_omp 25 26 #endif 26 27 27 28 #ifdef CPP_PHYS 28 USE mod_grid_phy_lmdz 29 USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb 30 USE mod_phys_lmdz_omp_data, ONLY: klon_omp 31 USE dimphy 32 USE comgeomphy 29 ! USE mod_grid_phy_lmdz 30 ! USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb 31 ! USE dimphy 32 ! USE comgeomphy 33 33 #endif 34 34 IMPLICIT NONE … … 83 83 #endif 84 84 85 INTEGER longcles86 PARAMETER ( longcles = 20 )87 REAL clesphy0( longcles )88 SAVE clesphy089 90 91 92 85 REAL zdtvr 93 86 … … 111 104 112 105 LOGICAL lafin 113 c INTEGER ij,iq,l,i,j114 INTEGER i,j115 116 106 117 107 real time_step, t_wrt, t_ops 118 119 120 LOGICAL call_iniphys121 data call_iniphys/.true./122 108 123 109 c+jld variables test conservation energie … … 142 128 143 129 c----------------------------------------------------------------------- 144 c variables pour l'initialisation de la physique :145 c ------------------------------------------------146 INTEGER ngridmx147 PARAMETER( ngridmx = 2+(jjm-1)*iim - 1/jjm )148 REAL zcufi(ngridmx),zcvfi(ngridmx)149 REAL latfi(ngridmx),lonfi(ngridmx)150 REAL airefi(ngridmx)151 SAVE latfi, lonfi, airefi152 153 INTEGER :: ierr154 155 156 c-----------------------------------------------------------------------157 130 c Initialisations: 158 131 c ---------------- … … 171 144 c --------------------------------------- 172 145 c 173 ! Ehouarn: dump possibility of using defrun 174 !#ifdef CPP_IOIPSL 175 CALL conf_gcm( 99, .TRUE. , clesphy0 ) 146 CALL conf_gcm( 99, .TRUE. ) 176 147 if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm", 177 148 s "iphysiq must be a multiple of iperiod", 1) 178 !#else179 ! CALL defrun( 99, .TRUE. , clesphy0 )180 !#endif181 149 c 182 150 c … … 192 160 #ifdef CPP_PHYS 193 161 CALL Init_Phys_lmdz(iim,jjp1,llm,mpi_size,distrib_phys) 194 #endif 162 !#endif 163 ! CALL set_bands 164 !#ifdef CPP_PHYS 165 CALL Init_interface_dyn_phys 166 #endif 167 CALL barrier 168 195 169 CALL set_bands 196 #ifdef CPP_PHYS197 CALL Init_interface_dyn_phys198 #endif199 CALL barrier200 201 170 if (mpi_rank==0) call WriteBands 202 171 call Set_Distrib(distrib_caldyn) … … 206 175 c$OMP END PARALLEL 207 176 208 #ifdef CPP_PHYS209 c$OMP PARALLEL210 call InitComgeomphy 211 c$OMP END PARALLEL212 #endif177 !#ifdef CPP_PHYS 178 !c$OMP PARALLEL 179 ! call InitComgeomphy ! now done in iniphysiq 180 !c$OMP END PARALLEL 181 !#endif 213 182 214 183 c----------------------------------------------------------------------- … … 225 194 call ioconf_calendar('noleap') 226 195 write(lunout,*)'CALENDRIER CHOISI: Terrestre a 365 jours/an' 227 else if (calend == ' earth_366d') then196 else if (calend == 'gregorian') then 228 197 call ioconf_calendar('gregorian') 229 198 write(lunout,*)'CALENDRIER CHOISI: Terrestre bissextile' … … 321 290 322 291 C 323 C on remet le calendrier àzero si demande292 C on remet le calendrier \`a zero si demande 324 293 c 325 294 IF (start_time /= starttime) then 326 295 WRITE(lunout,*)' GCM: Attention l''heure de depart lue dans le' 327 &,' fichier restart ne correspond pas àcelle lue dans le run.def'296 &,' fichier restart ne correspond pas a celle lue dans le run.def' 328 297 IF (raz_date == 1) then 329 298 WRITE(lunout,*)'Je prends l''heure lue dans run.def' … … 431 400 c Initialisation de la physique : 432 401 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' 402 IF ((iflag_phys==1).or.(iflag_phys>=100)) THEN 454 403 ! Physics: 455 404 #ifdef CPP_PHYS 456 CALL iniphysiq(ngridmx,llm,daysec,day_ini,dtphys/nsplit_phys, 457 & latfi,lonfi,airefi,zcufi,zcvfi,rad,g,r,cpp, 458 & iflag_phys) 459 #endif 460 call_iniphys=.false. 461 ENDIF ! of IF (call_iniphys.and.(iflag_phys==1.or.iflag_phys>=100)) 405 CALL iniphysiq(iim,jjm,llm,daysec,day_ini,dtphys/nsplit_phys, 406 & rlatu,rlonv,aire,cu,cv,rad,g,r,cpp, 407 & iflag_phys) 408 #endif 409 ENDIF ! of IF ((iflag_phys==1).or.(iflag_phys>=100)) 462 410 463 411 … … 547 495 548 496 c$OMP PARALLEL DEFAULT(SHARED) COPYIN(/temps/,/logici/,/logicl/) 549 CALL leapfrog_loc(ucov,vcov,teta,ps,masse,phis,q,clesphy0, 550 . time_0) 497 CALL leapfrog_loc(ucov,vcov,teta,ps,masse,phis,q,time_0) 551 498 c$OMP END PARALLEL 552 499 -
LMDZ5/branches/testing/libf/dyn3dmem/leapfrog_loc.F
r2187 r2258 9 9 10 10 SUBROUTINE leapfrog_loc(ucov0,vcov0,teta0,ps0, 11 & masse0,phis0,q0,clesphy0, 12 & time_0) 11 & masse0,phis0,q0,time_0) 13 12 14 13 USE misc_mod … … 82 81 ! include "mpif.h" 83 82 84 INTEGER,PARAMETER :: longcles = 2085 REAL,INTENT(IN) :: clesphy0( longcles ) ! not used86 83 REAL,INTENT(IN) :: time_0 ! not used 87 84 … … 757 754 IF( apphys ) THEN 758 755 759 CALL call_calfis(itau,lafin, clesphy0,ucov,vcov,teta,masse,ps,756 CALL call_calfis(itau,lafin,ucov,vcov,teta,masse,ps, 760 757 & phis,q,flxw) 761 758 ! #ifdef DEBUG_IO … … 882 879 ! $ du,dv,dteta,dq, 883 880 ! $ flxw, 884 ! $ clesphy0,dufi,dvfi,dtetafi,dqfi,dpfi )881 ! $ dufi,dvfi,dtetafi,dqfi,dpfi ) 885 882 ! ! CALL FTRACE_REGION_END("calfis") 886 883 ! ! ijb=ij_begin
Note: See TracChangeset
for help on using the changeset viewer.