Changeset 2351 for LMDZ5/trunk/libf/phylmd
- Timestamp:
- Aug 25, 2015, 5:14:59 PM (10 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 1 added
- 2 deleted
- 19 edited
-
calcul_divers.h (modified) (1 diff)
-
carbon_cycle_mod.F90 (modified) (4 diffs)
-
comgeomphy.F90 (deleted)
-
comgeomphy.h (deleted)
-
dyn1d/lmdz1d.F90 (modified) (3 diffs)
-
dyn1d/mod_interface_dyn_phys.F90 (added)
-
init_be.F90 (modified) (2 diffs)
-
lsc_scav.F90 (modified) (1 diff)
-
mod_surf_para.F90 (modified) (10 diffs)
-
phyaqua_mod.F90 (modified) (7 diffs)
-
phys_output_mod.F90 (modified) (1 diff)
-
phys_output_write_mod.F90 (modified) (2 diffs)
-
physiq.F90 (modified) (25 diffs)
-
phytrac_mod.F90 (modified) (1 diff)
-
surf_land_bucket_mod.F90 (modified) (2 diffs)
-
surf_land_orchidee_mod.F90 (modified) (2 diffs)
-
surf_land_orchidee_noopenmp_mod.F90 (modified) (2 diffs)
-
thermcellV0_main.F90 (modified) (1 diff)
-
thermcell_main.F90 (modified) (1 diff)
-
tracinca_mod.F90 (modified) (1 diff)
-
write_histday_seri.h (modified) (14 diffs)
-
write_paramLMDZ_phy.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/calcul_divers.h
r2103 r2351 8 8 DO i=1, klon 9 9 IF(pctsrf(i,is_ter).GT.0.) THEN 10 paire_ter(i)= airephy(i)*pctsrf(i,is_ter)10 paire_ter(i)=cell_area(i)*pctsrf(i,is_ter) 11 11 ENDIF 12 12 ENDDO -
LMDZ5/trunk/libf/phylmd/carbon_cycle_mod.F90
r2320 r2351 86 86 87 87 USE dimphy 88 USE comgeomphy88 USE geometry_mod, ONLY : cell_area 89 89 USE mod_phys_lmdz_transfert_para 90 90 USE infotrac_phy, ONLY: nbtr, nqo, niadv, tname … … 290 290 ! 5) Calculate total area of the earth surface 291 291 ! -------------------------------------------- 292 CALL reduce_sum(SUM( airephy),airetot)292 CALL reduce_sum(SUM(cell_area),airetot) 293 293 CALL bcast(airetot) 294 294 … … 309 309 USE phys_cal_mod, ONLY : mth_cur, mth_len 310 310 USE phys_cal_mod, ONLY : day_cur 311 USE comgeomphy312 311 USE indice_sol_mod 313 312 USE print_control_mod, ONLY: lunout 313 USE geometry_mod, ONLY : cell_area 314 314 315 315 IMPLICIT NONE … … 444 444 445 445 ! Calculate a global mean value of delta CO2 flux 446 fco2_tmp(1:klon) = fco2_tmp(1:klon) * airephy(1:klon)446 fco2_tmp(1:klon) = fco2_tmp(1:klon) * cell_area(1:klon) 447 447 CALL reduce_sum(SUM(fco2_tmp),sumtmp) 448 448 CALL bcast(sumtmp) -
LMDZ5/trunk/libf/phylmd/dyn1d/lmdz1d.F90
r2347 r2351 24 24 USE print_control_mod, ONLY: prt_level 25 25 USE iniphysiq_mod, ONLY: iniphysiq 26 USE mod_const_mpi, ONLY: comm_lmdz 26 27 27 28 implicit none … … 486 487 ! Initialization of dimensions, geometry and initial state 487 488 !--------------------------------------------------------------------- 488 call init_phys_lmdz(1,1,llm,1,(/1/)) 489 ! call init_phys_lmdz(1,1,llm,1,(/1/)) ! job now done via iniphysiq 489 490 call suphel 490 491 call infotrac_init … … 626 627 ! e.g. for cell boundaries, which are meaningless in 1D; so pad these 627 628 ! with '0.' when necessary 628 call iniphysiq(iim,jjm,llm,rday,day_ini,timestep, & 629 call iniphysiq(iim,jjm,llm, & 630 1,comm_lmdz, & 631 rday,day_ini,timestep, & 629 632 (/rlat_rad(1),0./),(/0./), & 630 633 (/0.,0./),(/rlon_rad(1),0./), & -
LMDZ5/trunk/libf/phylmd/init_be.F90
r2320 r2351 5 5 6 6 USE dimphy 7 USE comgeomphy8 7 USE infotrac_phy, ONLY : nbtr 9 8 USE indice_sol_mod 9 USE geometry_mod, ONLY : longitude, latitude 10 10 11 11 IMPLICIT NONE … … 114 114 115 115 DO i = 1,klon 116 qcos=sin(glt)*sin( rlatd(i))116 qcos=sin(glt)*sin(latitude(i)) 117 117 !!jyg 118 !! qcos=qcos+cos(glt)*cos( rlatd(i))*cos(rlond(i)+glg)119 qcos=qcos+cos(glt)*cos( rlatd(i))*cos(rlond(i)-glg)118 !! qcos=qcos+cos(glt)*cos(latitude(i))*cos(longitude(i)+glg) 119 qcos=qcos+cos(glt)*cos(latitude(i))*cos(longitude(i)-glg) 120 120 !!jyg end 121 121 IF ( qcos .LT. -1.) qcos = -1. -
LMDZ5/trunk/libf/phylmd/lsc_scav.F90
r2346 r2351 14 14 USE traclmdz_mod 15 15 USE infotrac_phy,ONLY : nbtr 16 USE comgeomphy17 16 USE iophy 18 17 IMPLICIT NONE -
LMDZ5/trunk/libf/phylmd/mod_surf_para.F90
r1907 r2351 49 49 50 50 SUBROUTINE Init_surf_para(knon) 51 USE mod_phys_lmdz_para , mpi_rank_root=>mpi_root51 USE mod_phys_lmdz_para 52 52 #ifdef CPP_MPI 53 53 INCLUDE 'mpif.h' … … 168 168 169 169 SUBROUTINE gather_surf_mpi_i(FieldIn,FieldOut) 170 USE mod_phys_lmdz_para , mpi_rank_root => mpi_root170 USE mod_phys_lmdz_para 171 171 #ifdef CPP_MPI 172 172 INCLUDE 'mpif.h' … … 180 180 CALL MPI_Gatherv(FieldIn,knon_mpi,MPI_INTEGER, & 181 181 FieldOut,knon_mpi_para,knon_mpi_begin_para(:)-1,MPI_INTEGER, & 182 mpi_ rank_root,COMM_LMDZ_PHY,ierr)182 mpi_master,COMM_LMDZ_PHY,ierr) 183 183 #endif 184 184 ELSE … … 223 223 224 224 SUBROUTINE gather_surf_mpi_r(FieldIn,FieldOut) 225 USE mod_phys_lmdz_para , mpi_rank_root => mpi_root225 USE mod_phys_lmdz_para 226 226 #ifdef CPP_MPI 227 227 INCLUDE 'mpif.h' … … 235 235 CALL MPI_Gatherv(FieldIn,knon_mpi,MPI_REAL_LMDZ, & 236 236 FieldOut,knon_mpi_para,knon_mpi_begin_para(:)-1,MPI_REAL_LMDZ, & 237 mpi_ rank_root,COMM_LMDZ_PHY,ierr)237 mpi_master,COMM_LMDZ_PHY,ierr) 238 238 #endif 239 239 ELSE … … 276 276 277 277 SUBROUTINE scatter_surf_mpi_i(FieldIn,FieldOut) 278 USE mod_phys_lmdz_para , mpi_rank_root => mpi_root278 USE mod_phys_lmdz_para 279 279 #ifdef CPP_MPI 280 280 INCLUDE 'mpif.h' … … 288 288 CALL MPI_Scatterv(FieldIn,knon_mpi_para,knon_mpi_begin_para(:)-1,MPI_INTEGER, & 289 289 FieldOut,knon_mpi,MPI_INTEGER, & 290 mpi_ rank_root,COMM_LMDZ_PHY,ierr)290 mpi_master,COMM_LMDZ_PHY,ierr) 291 291 #endif 292 292 ELSE … … 328 328 329 329 SUBROUTINE scatter_surf_mpi_r(FieldIn,FieldOut) 330 USE mod_phys_lmdz_para , mpi_rank_root => mpi_root330 USE mod_phys_lmdz_para 331 331 #ifdef CPP_MPI 332 332 INCLUDE 'mpif.h' … … 340 340 CALL MPI_Scatterv(FieldIn,knon_mpi_para,knon_mpi_begin_para(:)-1,MPI_INTEGER, & 341 341 FieldOut,knon_mpi,MPI_INTEGER, & 342 mpi_ rank_root,COMM_LMDZ_PHY,ierr)342 mpi_master,COMM_LMDZ_PHY,ierr) 343 343 #endif 344 344 ELSE … … 349 349 350 350 END MODULE mod_surf_para 351 -
LMDZ5/trunk/libf/phylmd/phyaqua_mod.F90
r2346 r2351 5 5 CONTAINS 6 6 7 SUBROUTINE iniaqua(nlon, latfi, lonfi,iflag_phys)7 SUBROUTINE iniaqua(nlon, iflag_phys) 8 8 9 9 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 19 19 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 20 20 21 USE comgeomphy, ONLY: rlatd, rlond22 21 USE dimphy, ONLY: klon 22 USE geometry_mod, ONLY : latitude 23 23 USE surface_data, ONLY: type_ocean, ok_veget 24 24 USE pbl_surface_mod, ONLY: pbl_surface_init … … 38 38 INTEGER, INTENT (IN) :: nlon, iflag_phys 39 39 ! IM ajout latfi, lonfi 40 REAL, INTENT (IN) :: lonfi(nlon), latfi(nlon)40 ! REAL, INTENT (IN) :: lonfi(nlon), latfi(nlon) 41 41 42 42 INTEGER type_profil, type_aqua … … 117 117 INTEGER l, ierr, aslun 118 118 119 REAL longitude, latitude119 ! REAL longitude, latitude 120 120 REAL paire 121 121 122 DATA latitude, longitude/48., 0./122 ! DATA latitude, longitude/48., 0./ 123 123 124 124 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 149 149 150 150 ! IM ajout latfi, lonfi 151 rlatd = latfi152 rlond = lonfi153 rlat = rlatd*180./pi154 rlon = rlond*180./pi151 ! rlatd = latfi 152 ! rlond = lonfi 153 ! rlat = rlatd*180./pi 154 ! rlon = rlond*180./pi 155 155 156 156 ! ----------------------------------------------------------------------- … … 160 160 day_ini = day_ref 161 161 day_end = day_ini + ndays 162 airefi = 1.163 zcufi = 1.164 zcvfi = 1.162 ! airefi = 1. 163 ! zcufi = 1. 164 ! zcvfi = 1. 165 165 !$OMP MASTER 166 166 nbapp_rad_omp = 24 … … 260 260 END DO 261 261 ! IM calcul profil sst 262 CALL profil_sst(nlon, rlatd, type_profil, phy_sst)262 CALL profil_sst(nlon, latitude, type_profil, phy_sst) 263 263 264 264 CALL writelim(klon, phy_nat, phy_alb, phy_sst, phy_bil, phy_rug, phy_ice, & -
LMDZ5/trunk/libf/phylmd/phys_output_mod.F90
r2344 r2351 531 531 real :: ttt,xxx,timestep,dayseconde,dtime 532 532 parameter (dayseconde=86400.) 533 include "comconst.h"534 533 535 534 ipos=scan(str,'0123456789.',.TRUE.) -
LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90
r2344 r2351 248 248 USE indice_sol_mod, only: nbsrf 249 249 USE infotrac_phy, only: nqtot, nqo, type_trac 250 USE comgeomphy, only: airephy250 USE geometry_mod, only: cell_area 251 251 USE surface_data, only: type_ocean, version_ocean, ok_veget, ok_snow 252 252 ! USE aero_mod, only: naero_spc … … 337 337 !!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 338 338 CALL histwrite_phy(o_phis, pphis) 339 CALL histwrite_phy(o_aire, airephy)339 CALL histwrite_phy(o_aire, cell_area) 340 340 341 341 IF (vars_defined) THEN -
LMDZ5/trunk/libf/phylmd/physiq.F90
r2345 r2351 12 12 USE ioipsl, only: histbeg, histvert, histdef, histend, histsync, & 13 13 histwrite, ju2ymds, ymds2ju, getin 14 USE comgeomphy14 USE geometry_mod, ONLY: cell_area, latitude_deg, longitude_deg 15 15 USE phys_cal_mod, only: year_len, mth_len, days_elapsed, jh_1jan, year_cur, & 16 16 mth_cur,jD_cur, jH_cur, jD_ref, phys_cal_update … … 923 923 igout=klon/2+1/klon 924 924 write(lunout,*) 'DEBUT DE PHYSIQ !!!!!!!!!!!!!!!!!!!!' 925 write(lunout,*) 'igout, rlat, rlon ',igout, rlatd(igout)*180./3.141593, rlond(igout)*180./3.141593925 write(lunout,*) 'igout, rlat, rlon ',igout, latitude_deg(igout), longitude_deg(igout) 926 926 write(lunout,*) & 927 927 'nlon,klev,nqtot,debut,lafin, jD_cur, jH_cur,pdtphys' … … 1356 1356 rg, & 1357 1357 ra, & 1358 airephy, &1358 cell_area, & 1359 1359 rlat, & 1360 1360 rlon, & … … 1563 1563 IF (ip_ebil_phy.ge.1) THEN 1564 1564 ztit='after dynamic' 1565 CALL diagetpq( airephy,ztit,ip_ebil_phy,1,1,dtime &1565 CALL diagetpq(cell_area,ztit,ip_ebil_phy,1,1,dtime & 1566 1566 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 1567 1567 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) … … 1570 1570 ! est egale a la variation de la physique au pas de temps precedent. 1571 1571 ! Donc la somme de ces 2 variations devrait etre nulle. 1572 call diagphy( airephy,ztit,ip_ebil_phy &1572 call diagphy(cell_area,ztit,ip_ebil_phy & 1573 1573 , zero_v, zero_v, zero_v, zero_v, zero_v & 1574 1574 , zero_v, zero_v, zero_v, ztsol & … … 1774 1774 IF (ip_ebil_phy.ge.2) THEN 1775 1775 ztit='after reevap' 1776 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,1,dtime &1776 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,1,dtime & 1777 1777 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 1778 1778 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 1779 call diagphy( airephy,ztit,ip_ebil_phy &1779 call diagphy(cell_area,ztit,ip_ebil_phy & 1780 1780 , zero_v, zero_v, zero_v, zero_v, zero_v & 1781 1781 , zero_v, zero_v, zero_v, ztsol & … … 2032 2032 IF (ip_ebil_phy.ge.2) THEN 2033 2033 ztit='after surface_main' 2034 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2034 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2035 2035 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2036 2036 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2037 call diagphy( airephy,ztit,ip_ebil_phy &2037 call diagphy(cell_area,ztit,ip_ebil_phy & 2038 2038 , zero_v, zero_v, zero_v, zero_v, sens & 2039 2039 , evap , zero_v, zero_v, ztsol & … … 2082 2082 ENDDO 2083 2083 IF (check) THEN 2084 za = qcheck(klon,klev,paprs,q_seri,ql_seri, airephy)2084 za = qcheck(klon,klev,paprs,q_seri,ql_seri,cell_area) 2085 2085 WRITE(lunout,*) "avantcon=", za 2086 2086 ENDIF … … 2102 2102 DO k = 1, klev 2103 2103 DO i = 1, klon 2104 omega(i,k) = RG*flxmass_w(i,k) / airephy(i)2104 omega(i,k) = RG*flxmass_w(i,k) / cell_area(i) 2105 2105 END DO 2106 2106 END DO … … 2488 2488 IF (ip_ebil_phy.ge.2) THEN 2489 2489 ztit='after convect' 2490 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2490 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2491 2491 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2492 2492 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2493 call diagphy( airephy,ztit,ip_ebil_phy &2493 call diagphy(cell_area,ztit,ip_ebil_phy & 2494 2494 , zero_v, zero_v, zero_v, zero_v, zero_v & 2495 2495 , zero_v, rain_con, snow_con, ztsol & … … 2499 2499 ! 2500 2500 IF (check) THEN 2501 za = qcheck(klon,klev,paprs,q_seri,ql_seri, airephy)2501 za = qcheck(klon,klev,paprs,q_seri,ql_seri,cell_area) 2502 2502 WRITE(lunout,*)"aprescon=", za 2503 2503 zx_t = 0.0 2504 2504 za = 0.0 2505 2505 DO i = 1, klon 2506 za = za + airephy(i)/REAL(klon)2506 za = za + cell_area(i)/REAL(klon) 2507 2507 zx_t = zx_t + (rain_con(i)+ & 2508 snow_con(i))* airephy(i)/REAL(klon)2508 snow_con(i))*cell_area(i)/REAL(klon) 2509 2509 ENDDO 2510 2510 zx_t = zx_t/za*dtime … … 2653 2653 IF (ip_ebil_phy.ge.2) THEN 2654 2654 ztit='after wake' 2655 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2655 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2656 2656 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2657 2657 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2658 call diagphy( airephy,ztit,ip_ebil_phy &2658 call diagphy(cell_area,ztit,ip_ebil_phy & 2659 2659 , zero_v, zero_v, zero_v, zero_v, zero_v & 2660 2660 , zero_v, zero_v, zero_v, ztsol & … … 2746 2746 ,ztv,zpspsk,ztla,zthl & 2747 2747 !cc nrlmd le 10/04/2012 2748 ,pbl_tke_input,pctsrf,omega, airephy&2748 ,pbl_tke_input,pctsrf,omega,cell_area & 2749 2749 ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 & 2750 2750 ,n2,s2,ale_bl_stat & … … 2970 2970 IF (ip_ebil_phy.ge.2) THEN 2971 2971 ztit='after dry_adjust' 2972 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &2972 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 2973 2973 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 2974 2974 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 2975 call diagphy( airephy,ztit,ip_ebil_phy &2975 call diagphy(cell_area,ztit,ip_ebil_phy & 2976 2976 , zero_v, zero_v, zero_v, zero_v, zero_v & 2977 2977 , zero_v, zero_v, zero_v, ztsol & … … 3023 3023 ENDDO 3024 3024 IF (check) THEN 3025 za = qcheck(klon,klev,paprs,q_seri,ql_seri, airephy)3025 za = qcheck(klon,klev,paprs,q_seri,ql_seri,cell_area) 3026 3026 WRITE(lunout,*)"apresilp=", za 3027 3027 zx_t = 0.0 3028 3028 za = 0.0 3029 3029 DO i = 1, klon 3030 za = za + airephy(i)/REAL(klon)3030 za = za + cell_area(i)/REAL(klon) 3031 3031 zx_t = zx_t + (rain_lsc(i) & 3032 + snow_lsc(i))* airephy(i)/REAL(klon)3032 + snow_lsc(i))*cell_area(i)/REAL(klon) 3033 3033 ENDDO 3034 3034 zx_t = zx_t/za*dtime … … 3038 3038 IF (ip_ebil_phy.ge.2) THEN 3039 3039 ztit='after fisrt' 3040 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3040 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3041 3041 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3042 3042 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3043 call diagphy( airephy,ztit,ip_ebil_phy &3043 call diagphy(cell_area,ztit,ip_ebil_phy & 3044 3044 , zero_v, zero_v, zero_v, zero_v, zero_v & 3045 3045 , zero_v, rain_lsc, snow_lsc, ztsol & … … 3308 3308 IF (ip_ebil_phy.ge.2) THEN 3309 3309 ztit="after diagcld" 3310 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3310 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3311 3311 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3312 3312 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3313 call diagphy( airephy,ztit,ip_ebil_phy &3313 call diagphy(cell_area,ztit,ip_ebil_phy & 3314 3314 , zero_v, zero_v, zero_v, zero_v, zero_v & 3315 3315 , zero_v, zero_v, zero_v, ztsol & … … 3377 3377 CALL AEROSOL_METEO_CALC( & 3378 3378 calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs, & 3379 prfl,psfl,pctsrf, airephy,rlat,rlon,u10m,v10m)3379 prfl,psfl,pctsrf,cell_area,rlat,rlon,u10m,v10m) 3380 3380 END IF 3381 3381 … … 3388 3388 rlat, & 3389 3389 rlon, & 3390 airephy, &3390 cell_area, & 3391 3391 paprs, & 3392 3392 pplay, & … … 3735 3735 IF (ip_ebil_phy.ge.2) THEN 3736 3736 ztit='after rad' 3737 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3737 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3738 3738 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3739 3739 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3740 call diagphy( airephy,ztit,ip_ebil_phy &3740 call diagphy(cell_area,ztit,ip_ebil_phy & 3741 3741 , topsw, toplw, solsw, sollw, zero_v & 3742 3742 , zero_v, zero_v, zero_v, ztsol & … … 3953 3953 IF (ip_ebil_phy.ge.2) THEN 3954 3954 ztit='after orography' 3955 CALL diagetpq( airephy,ztit,ip_ebil_phy,2,2,dtime &3955 CALL diagetpq(cell_area,ztit,ip_ebil_phy,2,2,dtime & 3956 3956 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 3957 3957 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) 3958 call diagphy( airephy,ztit,ip_ebil_phy &3958 call diagphy(cell_area,ztit,ip_ebil_phy & 3959 3959 , zero_v, zero_v, zero_v, zero_v, zero_v & 3960 3960 , zero_v, zero_v, zero_v, ztsol & … … 4061 4061 cdragh,coefh(1:klon,1:klev,is_ave),u1,v1,ftsol,pctsrf, & 4062 4062 frac_impa, frac_nucl, & 4063 pphis, airephy,dtime,itap, &4063 pphis,cell_area,dtime,itap, & 4064 4064 qx(:,:,ivap),da,phi,mp,upwd,dnwd) 4065 4065 … … 4101 4101 IF (ip_ebil_phy.ge.1) THEN 4102 4102 ztit='after physic' 4103 CALL diagetpq( airephy,ztit,ip_ebil_phy,1,1,dtime &4103 CALL diagetpq(cell_area,ztit,ip_ebil_phy,1,1,dtime & 4104 4104 , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay & 4105 4105 , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) … … 4109 4109 ! Donc la somme de ces 2 variations devrait etre nulle. 4110 4110 4111 call diagphy( airephy,ztit,ip_ebil_phy &4111 call diagphy(cell_area,ztit,ip_ebil_phy & 4112 4112 , topsw, toplw, solsw, sollw, sens & 4113 4113 , evap, rain_fall, snow_fall, ztsol & … … 4169 4169 paprs, & 4170 4170 q_seri, & 4171 airephy, &4171 cell_area, & 4172 4172 pphi, & 4173 4173 pphis, & -
LMDZ5/trunk/libf/phylmd/phytrac_mod.F90
r2345 r2351 92 92 USE mod_grid_phy_lmdz 93 93 USE mod_phys_lmdz_para 94 USE comgeomphy95 94 USE iophy 96 95 USE traclmdz_mod -
LMDZ5/trunk/libf/phylmd/surf_land_bucket_mod.F90
r2254 r2351 24 24 USE cpl_mod 25 25 USE dimphy 26 USE comgeomphy26 USE geometry_mod, ONLY: latitude 27 27 USE mod_grid_phy_lmdz 28 28 USE mod_phys_lmdz_para … … 99 99 CALL calbeta(dtime, is_ter, knon, snow, qsol, beta, capsol, dif_grnd) 100 100 if (type_veget=='betaclim') then 101 CALL calbeta_clim(knon,jour, rlatd(knindex(1:knon)),beta)101 CALL calbeta_clim(knon,jour,latitude(knindex(1:knon)),beta) 102 102 endif 103 103 -
LMDZ5/trunk/libf/phylmd/surf_land_orchidee_mod.F90
r2348 r2351 16 16 USE cpl_mod, ONLY : cpl_send_land_fields 17 17 USE surface_data, ONLY : type_ocean 18 USE comgeomphy, ONLY : cuphy, cvphy18 USE geometry_mod, ONLY : dx, dy 19 19 USE mod_grid_phy_lmdz 20 USE mod_phys_lmdz_para, mpi_root_rank=>mpi_ root20 USE mod_phys_lmdz_para, mpi_root_rank=>mpi_master 21 21 22 22 IMPLICIT NONE … … 330 330 DO igrid = 1, knon 331 331 ij = knindex(igrid) 332 resolution(igrid,1) = cuphy(ij)333 resolution(igrid,2) = cvphy(ij)332 resolution(igrid,1) = dx(ij) 333 resolution(igrid,2) = dy(ij) 334 334 ENDDO 335 335 -
LMDZ5/trunk/libf/phylmd/surf_land_orchidee_noopenmp_mod.F90
r2348 r2351 21 21 USE cpl_mod, ONLY : cpl_send_land_fields 22 22 USE surface_data, ONLY : type_ocean 23 USE comgeomphy, ONLY : cuphy, cvphy23 USE geometry_mod, ONLY : dx, dy 24 24 USE mod_grid_phy_lmdz 25 25 USE mod_phys_lmdz_para … … 334 334 DO igrid = 1, knon 335 335 ij = knindex(igrid) 336 resolution(igrid,1) = cuphy(ij)337 resolution(igrid,2) = cvphy(ij)336 resolution(igrid,1) = dx(ij) 337 resolution(igrid,2) = dy(ij) 338 338 ENDDO 339 339 -
LMDZ5/trunk/libf/phylmd/thermcellV0_main.F90
r2346 r2351 13 13 14 14 USE dimphy 15 USE comgeomphy , ONLY:rlond,rlatd16 15 USE print_control_mod, ONLY: prt_level,lunout 17 16 IMPLICIT NONE -
LMDZ5/trunk/libf/phylmd/thermcell_main.F90
r2346 r2351 23 23 USE dimphy 24 24 USE ioipsl 25 USE comgeomphy , ONLY:rlond,rlatd26 25 USE indice_sol_mod 27 26 USE print_control_mod, ONLY: lunout,prt_level -
LMDZ5/trunk/libf/phylmd/tracinca_mod.F90
r2345 r2351 54 54 USE infotrac_phy, ONLY: nbtr 55 55 USE vampir 56 USE comgeomphy57 56 USE indice_sol_mod 58 57 -
LMDZ5/trunk/libf/phylmd/write_histday_seri.h
r2344 r2351 20 20 ok_msk=.FALSE. 21 21 msk(1:klon)=pctsrf(1:klon,is_ter) 22 CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, &22 CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area, & 23 23 ok_msk, msk, moyglo) 24 24 zx_tmp_fi2d(1:klon)=moyglo … … 29 29 ! 30 30 ok_msk=.FALSE. 31 CALL moyglo_pondaire(klon, bils, airephy, &31 CALL moyglo_pondaire(klon, bils, cell_area, & 32 32 ok_msk, msk, moyglo) 33 33 zx_tmp_fi2d(1:klon)=moyglo … … 45 45 ! 46 46 CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d, & 47 airephy, paprs, moyglo)47 cell_area, paprs, moyglo) 48 48 zx_tmp_fi2d(1:klon)=moyglo 49 49 ! … … 62 62 ! 63 63 CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d, & 64 airephy, paprs, moyglo)64 cell_area, paprs, moyglo) 65 65 zx_tmp_fi2d(1:klon)=moyglo 66 66 ! … … 76 76 ! 77 77 ok_msk=.FALSE. 78 CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, &78 CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area, & 79 79 ok_msk, msk, moyglo) 80 80 zx_tmp_fi2d(1:klon)=moyglo … … 87 87 ! 88 88 !IM 190504 BEG 89 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat, airephy,airedyn)89 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,cell_area,airedyn) 90 90 CALL gr_fi_dyn(klev+1,klon,nbp_lon+1,nbp_lat,paprs,padyn) 91 91 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,rlat,rlatdyn) … … 120 120 ! 121 121 ! 122 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat, airephy,airedyn)123 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat, airephy,zx_tmp_2d)122 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,cell_area,airedyn) 123 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,cell_area,zx_tmp_2d) 124 124 airetot=0. 125 125 ! DO j = 1, nbp_lat … … 134 134 ! 135 135 DO i=1, klon 136 airetot=airetot+ airephy(i)136 airetot=airetot+cell_area(i) 137 137 ENDDO 138 138 ! IF(itap.EQ.1) PRINT*,'airetotphy=',airetot … … 161 161 ! 162 162 CALL moyglo_pondmass(klon, klev, t_seri, & 163 airephy, paprs, moyglo)163 cell_area, paprs, moyglo) 164 164 zx_tmp_fi2d(1:klon)=moyglo 165 165 ! … … 169 169 ! 170 170 ok_msk=.FALSE. 171 CALL moyglo_pondaire(klon, paprs(:,1), airephy, &171 CALL moyglo_pondaire(klon, paprs(:,1), cell_area, & 172 172 ok_msk, msk, moyglo) 173 173 zx_tmp_fi2d(1:klon)=moyglo … … 178 178 ! 179 179 ok_msk=.FALSE. 180 CALL moyglo_pondaire(klon, evap, airephy, &180 CALL moyglo_pondaire(klon, evap, cell_area, & 181 181 ok_msk, msk, moyglo) 182 182 zx_tmp_fi2d(1:klon)=moyglo … … 192 192 ! ok_msk=.TRUE. 193 193 ! msk(1:klon)=pctsrf(1:klon,is_ter) 194 ! CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,194 ! CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area, 195 195 ! . ok_msk, msk, moyglo) 196 196 ! zx_tmp_fi2d(1:klon)=moyglo … … 208 208 ! ok_msk=.TRUE. 209 209 ! msk(1:klon)=pctsrf(1:klon,is_ter) 210 ! CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,210 ! CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area, 211 211 ! . ok_msk, msk, moyglo) 212 212 ! zx_tmp_fi2d(1:klon)=moyglo … … 222 222 ok_msk=.TRUE. 223 223 msk(1:klon)=pctsrf(1:klon,is_oce) 224 CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, &224 CALL moyglo_pondaire(klon, zx_tmp_fi2d, cell_area, & 225 225 ok_msk, msk, moyglo) 226 226 zx_tmp_fi2d(1:klon)=moyglo -
LMDZ5/trunk/libf/phylmd/write_paramLMDZ_phy.h
r2343 r2351 2 2 ! calcul moyennes globales 3 3 ! 4 zx_tmp_fi2d=bils* airephy5 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gbils)6 zx_tmp_fi2d=evap* airephy7 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gevap)8 zx_tmp_fi2d(:)=fevap(:, is_ter)* airephy(:)9 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gevapt)10 zx_tmp_fi2d=zxfluxlat* airephy11 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,glat)12 zx_tmp_fi2d=(topsw0-toplw0)* airephy13 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gnet0)14 zx_tmp_fi2d=(topsw-toplw)* airephy15 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gnet)16 zx_tmp_fi2d=(rain_fall+snow_fall)* airephy17 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,grain)18 zx_tmp_fi2d=zxtsol* airephy19 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gtsol)20 zx_tmp_fi2d=zt2m* airephy21 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gt2m)22 zx_tmp_fi2d=prw* airephy23 CALL global_mean(zx_tmp_fi2d, airephy,.TRUE.,gprw)4 zx_tmp_fi2d=bils*cell_area 5 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gbils) 6 zx_tmp_fi2d=evap*cell_area 7 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gevap) 8 zx_tmp_fi2d(:)=fevap(:, is_ter)*cell_area(:) 9 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gevapt) 10 zx_tmp_fi2d=zxfluxlat*cell_area 11 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,glat) 12 zx_tmp_fi2d=(topsw0-toplw0)*cell_area 13 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gnet0) 14 zx_tmp_fi2d=(topsw-toplw)*cell_area 15 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gnet) 16 zx_tmp_fi2d=(rain_fall+snow_fall)*cell_area 17 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,grain) 18 zx_tmp_fi2d=zxtsol*cell_area 19 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gtsol) 20 zx_tmp_fi2d=zt2m*cell_area 21 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gt2m) 22 zx_tmp_fi2d=prw*cell_area 23 CALL global_mean(zx_tmp_fi2d,cell_area,.TRUE.,gprw) 24 24 ! 25 25 !$OMP MASTER
Note: See TracChangeset
for help on using the changeset viewer.
