Changeset 2351 for LMDZ5/trunk/libf/phymar
- Timestamp:
- Aug 25, 2015, 5:14:59 PM (9 years ago)
- Location:
- LMDZ5/trunk/libf/phymar
- Files:
-
- 2 deleted
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phymar/phyaqua_mod.F90
r2348 r2351 2 2 ! $Id: $ 3 3 ! 4 MODULE phyaqua_mod 4 5 5 subroutine iniaqua(nlon,latfi,lonfi,iflag_phys)6 IMPLICIT NONE 6 7 7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 8 ! Create an initial state (startphy.nc) for the physics 9 ! Usefull for idealised cases (e.g. aquaplanets or testcases) 10 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 8 CONTAINS 11 9 12 use phys_state_var_mod, only : rlat,rlon, 13 & phys_state_var_init 14 use mod_phys_lmdz_para, only : klon_omp 15 use comgeomphy, only : rlond,rlatd 16 implicit none 10 SUBROUTINE iniaqua(nlon, iflag_phys) 11 12 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 13 ! Create an initial state (startphy.nc) for the physics 14 ! Usefull for idealised cases (e.g. aquaplanets or testcases) 15 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 16 17 USE phys_state_var_mod, ONLY: rlat, rlon, phys_state_var_init 18 USE mod_phys_lmdz_para, ONLY: klon_omp 19 USE geometry_mod, ONLY: longitude_deg, latitude_deg 20 IMPLICIT NONE 17 21 18 integer,intent(in) :: nlon,iflag_phys 19 real,intent(in) :: lonfi(nlon),latfi(nlon) 22 INTEGER,INTENT(IN) :: nlon,iflag_phys 20 23 21 ! local variables22 real:: pi24 ! local variables 25 REAL :: pi 23 26 24 ! initializations:25 pi=2.*asin(1.)27 ! initializations: 28 pi=2.*ASIN(1.) 26 29 27 callphys_state_var_init()30 CALL phys_state_var_init() 28 31 29 rlat(1:klon_omp)=rlatd(1:klon_omp)*180./pi30 rlon(1:klon_omp)=rlond(1:klon_omp)*180./pi32 rlat(1:klon_omp)=latitude_deg(1:klon_omp) 33 rlon(1:klon_omp)=longitude_deg(1:klon_omp) 31 34 32 35 33 ! Here you could create an initial condition for the physics34 ! ...35 ! ... fill in the fields...36 ! ...37 ! ... and create a "startphy.nc" file36 ! Here you could create an initial condition for the physics 37 ! ... 38 ! ... fill in the fields... 39 ! ... 40 ! ... and create a "startphy.nc" file 38 41 CALL phyredem ("startphy.nc") 39 42 40 end43 END SUBROUTINE iniaqua 41 44 45 END MODULE phyaqua_mod -
LMDZ5/trunk/libf/phymar/physiq.F90
r2320 r2351 11 11 & debut,lafin,jD_cur, jH_cur,pdtphys, & 12 12 & paprs,pplay,pphi,pphis,ppresnivs, & 13 & u,v, t,qx, &13 & u,v,rot,t,qx, & 14 14 & flxmass_w, & 15 15 & d_u, d_v, d_t, d_qx, d_ps & … … 18 18 USE dimphy, only : klon,klev,klevp1 19 19 USE infotrac_phy, only : nqtot 20 USE comgeomphy, only : rlatd,rlond,airephy20 USE geometry_mod, only : latitude,longitude,cell_area 21 21 !USE comcstphy, only : rg 22 22 USE iophy, only : histbeg_phy,histwrite_phy … … 498 498 499 499 DO i=1,klon 500 IF ( rlond(i) .LT. 0) THEN501 lonh_HOST(i)= rlond(i)*12./rpi+24. ! from radians to hours500 IF (longitude(i) .LT. 0) THEN 501 lonh_HOST(i)=longitude(i)*12./rpi+24. ! from radians to hours 502 502 ELSE 503 lonh_HOST(i)= rlond(i)*12./rpi ! from radians to hours503 lonh_HOST(i)=longitude(i)*12./rpi ! from radians to hours 504 504 ENDIF 505 505 ENDDO 506 latr_HOST(:)= rlatd(:) ! from radians to radians506 latr_HOST(:)=latitude(:) ! from radians to radians 507 507 508 508 !PRINT*, 'lonh_HOST(:)=',lonh_HOST(:) … … 689 689 PRINT*, 'Initialisation de la temperature de surface avec les SST aquaplanète' 690 690 DO i = 1,klon 691 Ts___HOST(i)=273.+27.*(1-sin(1.5* rlatd(i))**2)692 IF (( rlatd(i).GT.1.0471975).OR.(rlatd(i).LT.-1.0471975)) THEN691 Ts___HOST(i)=273.+27.*(1-sin(1.5*latitude(i))**2) 692 IF ((latitude(i).GT.1.0471975).OR.(latitude(i).LT.-1.0471975)) THEN 693 693 Ts___HOST(i)=273. 694 694 ENDIF … … 791 791 DO k = 1, klev 792 792 i=klev+1-k 793 !omega(i,k) = RG*flxmass_w(i,k) / airephy(i) ! omega en Pa/s794 Wa___HOST(:,i)=flxmass_w(:,k) / airephy(:) * (gZam_HOST(:,i+1) - gZam_HOST(:,i))/(paprs(:,k+1)-paprs(:,k)) ! Equilibre hydrostatique793 !omega(i,k) = RG*flxmass_w(i,k) / cell_area(i) ! omega en Pa/s 794 Wa___HOST(:,i)=flxmass_w(:,k) / cell_area(:) * (gZam_HOST(:,i+1) - gZam_HOST(:,i))/(paprs(:,k+1)-paprs(:,k)) ! Equilibre hydrostatique 795 795 END DO 796 796 Wa___HOST(:,klev)=0 ! Vitesse nulle à la surface. … … 853 853 !IF (debut) THEN 854 854 DO i=1,klon 855 sst__HOST(i)=273.+27.*(1-sin(1.5* rlatd(i))**2)856 IF (( rlatd(i).GT.1.0471975).OR.(rlatd(i).LT.-1.0471975)) THEN855 sst__HOST(i)=273.+27.*(1-sin(1.5*latitude(i))**2) 856 IF ((latitude(i).GT.1.0471975).OR.(latitude(i).LT.-1.0471975)) THEN 857 857 sst__HOST(i)=273. 858 858 ENDIF … … 908 908 ikl0 = i 909 909 PRINT*,'Attention : NaN at' 910 PRINT*,'longitude=', rlond(i)*180/rpi911 PRINT*,'latitude=', rlatd(i)*180/rpi910 PRINT*,'longitude=',longitude(i)*180/rpi 911 PRINT*,'latitude=',latitude(i)*180/rpi 912 912 ENDIF 913 913 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.