Changeset 2056 for LMDZ5/branches/testing/libf/dyn3dpar
- Timestamp:
- Jun 11, 2014, 3:46:46 PM (11 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 deleted
- 8 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 1998,2000-2023,2025-2029,2032,2034,2036-2049,2051-2055
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/dyn3dpar/calfis_p.F
r1999 r2056 217 217 REAL unskap, pksurcp 218 218 c 219 cIM diagnostique PVteta, Amip2220 INTEGER,PARAMETER :: ntetaSTD=3221 REAL,SAVE :: rtetaSTD(ntetaSTD)=(/350.,380.,405./) ! Earth-specific, beware !!222 REAL PVteta(klon,ntetaSTD)223 224 219 REAL SSUM 225 220 … … 249 244 klon=klon_mpi 250 245 251 PVteta(:,:)=0.252 253 246 c 254 247 IF ( firstcal ) THEN … … 484 477 endif 485 478 486 487 IF (is_sequential.and.(planet_type=="earth")) THEN488 #ifdef CPP_PHYS489 ! PVtheta calls tetalevel, which is in the physics490 cIM calcul PV a teta=350, 380, 405K491 CALL PVtheta(ngridmx,llm,pucov,pvcov,pteta,492 $ ztfi,zplay,zplev,493 $ ntetaSTD,rtetaSTD,PVteta)494 c495 #endif496 ENDIF497 498 479 c On change de grille, dynamique vers physiq, pour le flux de masse verticale 499 480 CALL gr_dyn_fi_p(llm,iip1,jjp1,klon,flxw,flxwfi) … … 668 649 . zdqfi_omp, 669 650 . zdpsrf_omp, 670 cIM diagnostique PVteta, Amip2 671 . pducov, 672 . PVteta) 651 . pducov) 673 652 674 653 else if ( planet_type=="generic" ) then -
LMDZ5/branches/testing/libf/dyn3dpar/gcm.F
r1999 r2056 99 99 REAL ps(ip1jmp1) ! pression au sol 100 100 c REAL p (ip1jmp1,llmp1 ) ! pression aux interfac.des couches 101 c REAL pks(ip1jmp1) ! exner au sol102 c REAL pk(ip1jmp1,llm) ! exner au milieu des couches103 c REAL pkf(ip1jmp1,llm) ! exner filt.au milieu des couches104 101 REAL masse(ip1jmp1,llm) ! masse d'air 105 102 REAL phis(ip1jmp1) ! geopotentiel au sol … … 125 122 data call_iniphys/.true./ 126 123 127 c REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm)128 124 c+jld variables test conservation energie 129 125 c REAL ecin(ip1jmp1,llm),ecin0(ip1jmp1,llm) … … 481 477 482 478 483 day_end = day_ini + nday 479 if (nday>=0) then 480 day_end = day_ini + nday 481 else 482 day_end = day_ini - nday/day_step 483 endif 484 484 485 WRITE(lunout,300)day_ini,day_end 485 486 300 FORMAT('1'/,15x,'run du jour',i7,2x,'au jour',i7//) -
LMDZ5/branches/testing/libf/dyn3dpar/guide_p_mod.F90
-
Property
svn:keywords
set to
Id
r2024 r2056 328 328 !======================================================================= 329 329 SUBROUTINE guide_main(itau,ucov,vcov,teta,q,masse,ps) 330 use exner_hyb_p_m, only: exner_hyb_p 331 use exner_milieu_p_m, only: exner_milieu_p 330 332 USE parallel_lmdz 331 333 USE control_mod … … 349 351 REAL, DIMENSION (ip1jmp1,llm) :: f_add ! var aux: champ de guidage 350 352 ! Variables pour fonction Exner (P milieu couche) 351 REAL, DIMENSION (iip1,jjp1,llm) :: pk, pkf 352 REAL, DIMENSION (iip1,jjp1,llm) :: alpha, beta 353 REAL, DIMENSION (iip1,jjp1,llm) :: pk 353 354 REAL, DIMENSION (iip1,jjp1) :: pks 354 355 REAL :: unskap … … 493 494 CALL pression_p( ip1jmp1, ap, bp, ps, p ) 494 495 if (pressure_exner) then 495 CALL exner_hyb_p(ip1jmp1,ps,p, alpha,beta,pks,pk,pkf)496 CALL exner_hyb_p(ip1jmp1,ps,p,pks,pk) 496 497 else 497 CALL exner_milieu_p(ip1jmp1,ps,p, beta,pks,pk,pkf)498 CALL exner_milieu_p(ip1jmp1,ps,p,pks,pk) 498 499 endif 499 500 unskap=1./kappa … … 693 694 !======================================================================= 694 695 SUBROUTINE guide_interp(psi,teta) 696 use exner_hyb_p_m, only: exner_hyb_p 697 use exner_milieu_p_m, only: exner_milieu_p 695 698 USE parallel_lmdz 696 699 USE mod_hallo … … 717 720 REAL, DIMENSION (iip1,jjm,llm) :: pbary 718 721 ! Variables pour fonction Exner (P milieu couche) 719 REAL, DIMENSION (iip1,jjp1,llm) :: pk, pkf 720 REAL, DIMENSION (iip1,jjp1,llm) :: alpha, beta 722 REAL, DIMENSION (iip1,jjp1,llm) :: pk 721 723 REAL, DIMENSION (iip1,jjp1) :: pks 722 724 REAL :: unskap … … 797 799 CALL pression_p( ip1jmp1, ap, bp, psi, p ) 798 800 if (pressure_exner) then 799 CALL exner_hyb_p(ip1jmp1,psi,p, alpha,beta,pks,pk,pkf)801 CALL exner_hyb_p(ip1jmp1,psi,p,pks,pk) 800 802 else 801 CALL exner_milieu_p(ip1jmp1,psi,p, beta,pks,pk,pkf)803 CALL exner_milieu_p(ip1jmp1,psi,p,pks,pk) 802 804 endif 803 805 unskap=1./kappa -
Property
svn:keywords
set to
-
LMDZ5/branches/testing/libf/dyn3dpar/iniacademic.F90
r1910 r2056 4 4 SUBROUTINE iniacademic(vcov,ucov,teta,q,masse,ps,phis,time_0) 5 5 6 use exner_hyb_m, only: exner_hyb 7 use exner_milieu_m, only: exner_milieu 6 8 USE filtreg_mod 7 9 USE infotrac, ONLY : nqtot … … 54 56 REAL pks(ip1jmp1) ! exner au sol 55 57 REAL pk(ip1jmp1,llm) ! exner au milieu des couches 56 REAL pkf(ip1jmp1,llm) ! exner filt.au milieu des couches57 58 REAL phi(ip1jmp1,llm) ! geopotentiel 58 59 REAL ddsin,zsig,tetapv,w_pv ! variables auxiliaires … … 70 71 integer idum 71 72 72 REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm),zdtvr73 REAL zdtvr 73 74 74 75 character(len=*),parameter :: modname="iniacademic" … … 223 224 CALL pression ( ip1jmp1, ap, bp, ps, p ) 224 225 if (pressure_exner) then 225 CALL exner_hyb( ip1jmp1, ps, p, alpha,beta, pks, pk, pkf)226 else 227 call exner_milieu(ip1jmp1,ps,p, beta,pks,pk,pkf)226 CALL exner_hyb( ip1jmp1, ps, p, pks, pk ) 227 else 228 call exner_milieu(ip1jmp1,ps,p,pks,pk) 228 229 endif 229 230 CALL massdair(p,masse) -
LMDZ5/branches/testing/libf/dyn3dpar/leapfrog_p.F
r1999 r2056 8 8 & time_0) 9 9 10 use exner_hyb_m, only: exner_hyb 11 use exner_milieu_m, only: exner_milieu 12 use exner_hyb_p_m, only: exner_hyb_p 13 use exner_milieu_p_m, only: exner_milieu_p 10 14 USE misc_mod 11 15 USE parallel_lmdz … … 149 153 character*10 string10 150 154 151 REAL,SAVE :: alpha(ip1jmp1,llm),beta(ip1jmp1,llm)152 155 REAL,SAVE :: flxw(ip1jmp1,llm) ! flux de masse verticale 153 156 … … 209 212 lafin=.false. 210 213 211 itaufin = nday*day_step 214 if (nday>=0) then 215 itaufin = nday*day_step 216 else 217 itaufin = -nday 218 endif 219 212 220 itaufinp1 = itaufin +1 213 221 … … 241 249 CALL pression ( ip1jmp1, ap, bp, ps, p ) 242 250 if (pressure_exner) then 243 CALL exner_hyb( ip1jmp1, ps, p, alpha,beta,pks, pk, pkf )251 CALL exner_hyb( ip1jmp1, ps, p, pks, pk, pkf ) 244 252 else 245 CALL exner_milieu( ip1jmp1, ps, p, beta,pks, pk, pkf )253 CALL exner_milieu( ip1jmp1, ps, p, pks, pk, pkf ) 246 254 endif 247 255 c$OMP END MASTER … … 705 713 c$OMP BARRIER 706 714 if (pressure_exner) then 707 CALL exner_hyb_p( ip1jmp1, ps, p, alpha,beta,pks, pk, pkf )715 CALL exner_hyb_p( ip1jmp1, ps, p,pks, pk, pkf ) 708 716 else 709 CALL exner_milieu_p( ip1jmp1, ps, p, beta,pks, pk, pkf )717 CALL exner_milieu_p( ip1jmp1, ps, p, pks, pk, pkf ) 710 718 endif 719 ! Appel a geopot ajoute le 2014/05/08 pour garantir la convergence numerique 720 ! avec dyn3dmem 721 CALL geopot ( ip1jmp1, teta , pk , pks, phis , phi ) 711 722 c$OMP BARRIER 712 723 jD_cur = jD_ref + day_ini - day_ref … … 918 929 c$OMP BARRIER 919 930 if (pressure_exner) then 920 CALL exner_hyb_p(ip1jmp1,ps,p, alpha,beta,pks,pk,pkf)931 CALL exner_hyb_p(ip1jmp1,ps,p,pks,pk,pkf) 921 932 else 922 CALL exner_milieu_p(ip1jmp1,ps,p, beta,pks,pk,pkf)933 CALL exner_milieu_p(ip1jmp1,ps,p,pks,pk,pkf) 923 934 endif 924 935 c$OMP BARRIER … … 1059 1070 c$OMP BARRIER 1060 1071 if (pressure_exner) then 1061 CALL exner_hyb_p( ip1jmp1, ps, p, alpha,beta,pks, pk, pkf )1072 CALL exner_hyb_p( ip1jmp1, ps, p, pks, pk, pkf ) 1062 1073 else 1063 CALL exner_milieu_p( ip1jmp1, ps, p, beta,pks, pk, pkf )1074 CALL exner_milieu_p( ip1jmp1, ps, p, pks, pk, pkf ) 1064 1075 endif 1065 1076 c$OMP BARRIER -
LMDZ5/branches/testing/libf/dyn3dpar/mod_const_mpi.F90
r1999 r2056 21 21 USE mod_prism 22 22 #endif 23 #ifdef CPP_XIOS 24 USE wxios, only: wxios_init 25 #endif 23 26 IMPLICIT NONE 24 27 #ifdef CPP_MPI … … 41 44 #ifdef CPP_COUPLE 42 45 !$OMP MASTER 43 CALL prism_init_comp_proto (comp_id, 'lmdz.x', ierr) 46 #ifdef CPP_XIOS 47 CALL wxios_init("LMDZ", outcom=COMM_LMDZ, type_ocean=type_ocean) 48 #else 49 CALL prism_init_comp_proto (comp_id, 'LMDZ', ierr) 44 50 CALL prism_get_localcomm_proto(COMM_LMDZ,ierr) 51 #endif 45 52 !$OMP END MASTER 46 53 #endif -
LMDZ5/branches/testing/libf/dyn3dpar/parallel_lmdz.F90
r1999 r2056 255 255 256 256 if (type_ocean == 'couple') then 257 #ifdef CPP_XIOS 258 !Fermeture propre de XIOS 259 CALL wxios_close() 260 #else 257 261 #ifdef CPP_COUPLE 258 262 call prism_terminate_proto(ierr) … … 261 265 endif 262 266 #endif 267 #endif 263 268 else 264 269 #ifdef CPP_XIOS
Note: See TracChangeset
for help on using the changeset viewer.