Changeset 1615 for LMDZ5/trunk
- Timestamp:
- Feb 10, 2012, 4:42:26 PM (13 years ago)
- Location:
- LMDZ5/trunk
- Files:
-
- 17 added
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3d/calfis.F
r1407 r1615 434 434 c 435 435 if (planet_type=="earth") then 436 #ifdef CPP_EARTH437 436 cIM calcul PV a teta=350, 380, 405K 438 437 CALL PVtheta(ngridmx,llm,pucov,pvcov,pteta, 439 438 $ ztfi,zplay,zplev, 440 439 $ ntetaSTD,rtetaSTD,PVteta) 441 #endif442 440 endif 443 441 c … … 450 448 451 449 452 if (planet_type=="earth") then453 #ifdef CPP_EARTH454 450 455 451 ! write(lunout,*) 'PHYSIQUE AVEC NSPLIT_PHYS=',nsplit_phys … … 460 456 zdqfic(:,:,:)=0. 461 457 462 do isplit=1,nsplit_phys 458 if (planet_type=="earth") then 459 #ifdef CPP_PHYS 460 461 do isplit=1,nsplit_phys 463 462 464 463 jH_cur_split=jH_cur+(isplit-1) * dtvr / (daysec *nsplit_phys) … … 503 502 zdqfic(:,:,:)=zdqfic(:,:,:)+zdqfi(:,:,:) 504 503 505 enddo 504 enddo ! of do isplit=1,nsplit_phys 505 506 #endif 507 ! of #ifdef CPP_PHYS 508 endif ! of if (planet_type=="earth") 509 506 510 zdufi(:,:)=zdufic(:,:)/nsplit_phys 507 511 zdvfi(:,:)=zdvfic(:,:)/nsplit_phys … … 509 513 zdqfi(:,:,:)=zdqfic(:,:,:)/nsplit_phys 510 514 511 #endif512 endif !of if (planet_type=="earth")513 515 514 516 500 CONTINUE -
LMDZ5/trunk/libf/dyn3d/ce0l.F90
r1563 r1615 28 28 IMPLICIT NONE 29 29 #ifndef CPP_EARTH 30 #include "iniprint.h" 30 31 WRITE(lunout,*)'limit_netcdf: Earth-specific routine, needs Earth physics' 31 32 #else -
LMDZ5/trunk/libf/dyn3d/gcm.F
r1592 r1615 21 21 ! A nettoyer. On ne veut qu'une ou deux routines d'interface 22 22 ! dynamique -> physique pour l'initialisation 23 ! Ehouarn: for now these only apply to Earth: 24 #ifdef CPP_EARTH 23 #ifdef CPP_PHYS 25 24 USE dimphy 26 25 USE comgeomphy … … 180 179 ! A nettoyer. On ne veut qu'une ou deux routines d'interface 181 180 ! dynamique -> physique pour l'initialisation 182 ! Ehouarn : temporarily (?) keep this only for Earth 183 if (planet_type.eq."earth") then 184 #ifdef CPP_EARTH 181 #ifdef CPP_PHYS 185 182 CALL Init_Phys_lmdz(iim,jjp1,llm,1,(/(jjm-1)*iim+2/)) 186 183 call InitComgeomphy 187 184 #endif 188 endif189 185 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 190 186 c----------------------------------------------------------------------- … … 435 431 WRITE(lunout,*) 436 432 . 'GCM: WARNING!!! vitesse verticale nulle dans la physique' 437 ! Earth: 438 if (planet_type.eq."earth") then 439 #ifdef CPP_EARTH 433 ! Physics: 434 #ifdef CPP_PHYS 440 435 CALL iniphysiq(ngridmx,llm,daysec,day_ini,dtphys/nsplit_phys , 441 436 , latfi,lonfi,airefi,zcufi,zcvfi,rad,g,r,cpp ) 442 437 #endif 443 endif ! of if (planet_type.eq."earth")444 438 call_iniphys=.false. 445 439 ENDIF ! of IF (call_iniphys.and.(iflag_phys.eq.1)) 446 !#endif447 440 448 441 c numero de stockage pour les fichiers de redemarrage: … … 466 459 #endif 467 460 468 #ifdef CPP_ EARTH461 #ifdef CPP_PHYS 469 462 ! Create start file (startphy.nc) and boundary conditions (limit.nc) 470 463 ! for the Earth verstion -
LMDZ5/trunk/libf/dyn3d/leapfrog.F
r1614 r1615 403 403 ! Ehouarn: be careful, diagedyn is Earth-specific (includes ../phylmd/..)! 404 404 IF (planet_type.eq."earth") THEN 405 #ifdef CPP_EARTH 405 406 CALL diagedyn(ztit,2,1,1,dtphys 406 407 & , ucov , vcov , ps, p ,pk , teta , q(:,:,1), q(:,:,2)) 408 #endif 407 409 ENDIF 408 410 ENDIF ! of IF (ip_ebil_dyn.ge.1 ) -
LMDZ5/trunk/libf/dyn3dpar/bands.F90
r1279 r1615 93 93 SUBROUTINE Set_Bands 94 94 USE parallel 95 #ifdef CPP_ EARTH96 ! Ehouarn: what follows is only related to // physics ; for now only for Earth95 #ifdef CPP_PHYS 96 ! Ehouarn: what follows is only related to // physics 97 97 USE mod_phys_lmdz_para, ONLY : jj_para_begin,jj_para_end 98 98 #endif … … 106 106 enddo 107 107 108 #ifdef CPP_EARTH 109 ! Ehouarn: what follows is only related to // physics; for now only for Earth 108 #ifdef CPP_PHYS 110 109 do i=0,MPI_Size-1 111 110 jj_Nb_physic(i)=jj_para_end(i)-jj_para_begin(i)+1 … … 332 331 subroutine AdjustBands_physic 333 332 use times 334 #ifdef CPP_ EARTH335 ! Ehouarn: what follows is only related to // physics ; for now only for Earth333 #ifdef CPP_PHYS 334 ! Ehouarn: what follows is only related to // physics 336 335 USE mod_phys_lmdz_para, only : klon_mpi_para_nb 337 336 #endif … … 359 358 medium=medium/mpi_size 360 359 NbTot=0 361 #ifdef CPP_EARTH 362 ! Ehouarn: what follows is only related to // physics; for now only for Earth 360 #ifdef CPP_PHYS 363 361 do i=0,mpi_size-1 364 362 Inc(i)=nint(klon_mpi_para_nb(i)*(medium-value(i))/value(i)) -
LMDZ5/trunk/libf/dyn3dpar/calfis_p.F
r1407 r1615 27 27 $ pdqfi, 28 28 $ pdpsfi) 29 #ifdef CPP_EARTH 30 ! Ehouarn: For now, calfis_p needs Earth physics 31 c 32 c Auteur : P. Le Van, F. Hourdin 33 c ......... 29 #ifdef CPP_PHYS 30 ! If using physics 34 31 USE dimphy 35 32 USE mod_phys_lmdz_para, mpi_root_xx=>mpi_root … … 146 143 REAL clesphy0( longcles ) 147 144 148 #ifdef CPP_EARTH149 145 c Local variables : 150 146 c ----------------- … … 489 485 490 486 491 IF (is_sequential) THEN 492 c 487 IF (is_sequential.and.(planet_type=="earth")) THEN 493 488 cIM calcul PV a teta=350, 380, 405K 494 489 CALL PVtheta(ngridmx,llm,pucov,pvcov,pteta, … … 627 622 c$OMP BARRIER 628 623 629 if (planet_type=="earth") then630 #ifdef CPP_EARTH631 632 624 !$OMP MASTER 633 625 ! write(lunout,*) 'PHYSIQUE AVEC NSPLIT_PHYS=',nsplit_phys … … 639 631 zdqfic_omp(:,:,:)=0. 640 632 633 if (planet_type=="earth") then 634 #ifdef CPP_PHYS 641 635 do isplit=1,nsplit_phys 642 636 … … 687 681 enddo 688 682 683 #endif 684 ! of #ifdef CPP_PHYS 685 endif !of if (planet_type=="earth") 686 689 687 zdufi_omp(:,:)=zdufic_omp(:,:)/nsplit_phys 690 688 zdvfi_omp(:,:)=zdvfic_omp(:,:)/nsplit_phys 691 689 zdtfi_omp(:,:)=zdtfic_omp(:,:)/nsplit_phys 692 690 zdqfi_omp(:,:,:)=zdqfic_omp(:,:,:)/nsplit_phys 693 694 #endif695 endif !of if (planet_type=="earth")696 691 c$OMP BARRIER 697 692 … … 1110 1105 firstcal = .FALSE. 1111 1106 1112 #else1113 write(lunout,*)1114 & "calfis_p: for now can only work with parallel physics"1115 stop1116 #endif1117 ! of #ifdef CPP_EARTH1118 1107 RETURN 1119 1108 END -
LMDZ5/trunk/libf/dyn3dpar/ce0l.F90
r1600 r1615 31 31 IMPLICIT NONE 32 32 #ifndef CPP_EARTH 33 #include "iniprint.h" 33 34 WRITE(lunout,*)'limit_netcdf: Earth-specific routine, needs Earth physics' 34 35 #else -
LMDZ5/trunk/libf/dyn3dpar/gcm.F
r1592 r1615 20 20 USE control_mod 21 21 22 ! Ehouarn: for now these only apply to Earth: 23 #ifdef CPP_EARTH 22 #ifdef CPP_PHYS 24 23 USE mod_grid_phy_lmdz 25 24 USE mod_phys_lmdz_para, ONLY : klon_mpi_para_nb … … 187 186 call ini_getparam("out.def") 188 187 call Read_Distrib 189 ! Ehouarn : temporarily (?) keep this only for Earth 190 if (planet_type.eq."earth") then 191 #ifdef CPP_EARTH 188 189 #ifdef CPP_PHYS 192 190 CALL Init_Phys_lmdz(iim,jjp1,llm,mpi_size,distrib_phys) 193 191 #endif 194 endif ! of if (planet_type.eq."earth")195 192 CALL set_bands 196 #ifdef CPP_EARTH 197 ! Ehouarn: For now only Earth physics is parallel 193 #ifdef CPP_PHYS 198 194 CALL Init_interface_dyn_phys 199 195 #endif … … 207 203 c$OMP END PARALLEL 208 204 209 ! Ehouarn : temporarily (?) keep this only for Earth 210 if (planet_type.eq."earth") then 211 #ifdef CPP_EARTH 205 #ifdef CPP_PHYS 212 206 c$OMP PARALLEL 213 207 call InitComgeomphy 214 208 c$OMP END PARALLEL 215 209 #endif 216 endif ! of if (planet_type.eq."earth")217 210 218 211 c----------------------------------------------------------------------- … … 451 444 WRITE(lunout,*) 452 445 . 'GCM: WARNING!!! vitesse verticale nulle dans la physique' 453 ! Earth: 454 if (planet_type.eq."earth") then 455 #ifdef CPP_EARTH 446 ! Physics: 447 #ifdef CPP_PHYS 456 448 CALL iniphysiq(ngridmx,llm,daysec,day_ini,dtphys/nsplit_phys , 457 449 , latfi,lonfi,airefi,zcufi,zcvfi,rad,g,r,cpp ) 458 450 #endif 459 endif ! of if (planet_type.eq."earth")460 451 call_iniphys=.false. 461 452 ENDIF ! of IF (call_iniphys.and.(iflag_phys.eq.1)) … … 490 481 301 FORMAT('1'/,15x,'run du ', i2,'/',i2,'/',i4) 491 482 302 FORMAT('1'/,15x,' au ', i2,'/',i2,'/',i4) 483 #endif 484 485 #ifdef CPP_PHYS 486 ! Create start file (startphy.nc) and boundary conditions (limit.nc) 487 ! for the Earth verstion 488 if (iflag_phys>=100) then 489 call iniaqua(ngridmx,latfi,lonfi,iflag_phys) 490 endif 492 491 #endif 493 492 -
LMDZ5/trunk/libf/dyn3dpar/gr_dyn_fi_p.F
r1279 r1615 3 3 ! 4 4 SUBROUTINE gr_dyn_fi_p(nfield,im,jm,ngrid,pdyn,pfi) 5 #ifdef CPP_ EARTH5 #ifdef CPP_PHYS 6 6 ! Interface with parallel physics, 7 ! for now this routine only works with Earth physics8 7 USE mod_interface_dyn_phys 9 8 USE dimphy … … 40 39 ENDDO 41 40 c$OMP END DO NOWAIT 42 #else43 write(lunout,*) "gr_fi_dyn_p : This routine should not be called",44 & "without parallelized physics"45 stop46 41 #endif 47 ! of #ifdef CPP_ EARTH42 ! of #ifdef CPP_PHYS 48 43 RETURN 49 44 END -
LMDZ5/trunk/libf/dyn3dpar/gr_fi_dyn_p.F
r1279 r1615 3 3 ! 4 4 SUBROUTINE gr_fi_dyn_p(nfield,ngrid,im,jm,pfi,pdyn) 5 #ifdef CPP_ EARTH5 #ifdef CPP_PHYS 6 6 ! Interface with parallel physics, 7 ! for now this routine only works with Earth physics8 7 USE mod_interface_dyn_phys 9 8 USE dimphy … … 52 51 ENDDO 53 52 c$OMP END DO NOWAIT 54 #else55 write(lunout,*) "gr_fi_dyn_p : This routine should not be called",56 & "without parallelized physics"57 stop58 53 #endif 59 ! of #ifdef CPP_ EARTH54 ! of #ifdef CPP_PHYS 60 55 RETURN 61 56 END -
LMDZ5/trunk/libf/dyn3dpar/leapfrog_p.F
r1614 r1615 728 728 ! Ehouarn: be careful, diagedyn is Earth-specific (includes ../phylmd/..)! 729 729 IF (planet_type.eq."earth") THEN 730 #ifdef CPP_EARTH 730 731 CALL diagedyn(ztit,2,1,1,dtphys 731 732 & , ucov , vcov , ps, p ,pk , teta , q(:,:,1), q(:,:,2)) 733 #endif 732 734 ENDIF 733 735 ENDIF -
LMDZ5/trunk/libf/dyn3dpar/mod_interface_dyn_phys.F90
r1279 r1615 7 7 8 8 9 #ifdef CPP_ EARTH9 #ifdef CPP_PHYS 10 10 ! Interface with parallel physics, 11 ! for now this routine only works with Earth physics12 11 CONTAINS 13 12 … … 56 55 END SUBROUTINE Init_interface_dyn_phys 57 56 #endif 58 ! of #ifdef CPP_ EARTH57 ! of #ifdef CPP_PHYS 59 58 END MODULE mod_interface_dyn_phys -
LMDZ5/trunk/makegcm
r1514 r1615 568 568 set phys="L_PHY= LIBPHY=" 569 569 else 570 #Default planet type is Earth 571 set cppflags="$cppflags -DCPP_EARTH" 570 #We'll use some physics 571 set cppflags="$cppflags -DCPP_PHYS" 572 if ( `echo $physique | grep -i "^lmd"` != "" ) then 573 #For lmd physics, default planet type is Earth 574 set cppflags="$cppflags -DCPP_EARTH" 575 endif 572 576 endif 573 577 -
LMDZ5/trunk/makelmdz_fcm
r1578 r1615 190 190 if [[ "$physique" != "nophys" ]] 191 191 then 192 #Default planet type is Earth 192 #We'll use some physics 193 CPP_KEY="$CPP_KEY CPP_PHYS" 194 if [[ "${physique:0:3}" == "lmd" ]] 195 then 196 #For lmd physics, default planet type is Earth 193 197 CPP_KEY="$CPP_KEY CPP_EARTH" 198 fi 194 199 fi 195 200
Note: See TracChangeset
for help on using the changeset viewer.