- Timestamp:
- Nov 20, 2015, 5:23:28 PM (9 years ago)
- Location:
- LMDZ5/trunk/libf
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/etat0phys_netcdf.F90
r2336 r2399 39 39 USE conf_dat_m, ONLY: conf_dat2d 40 40 USE phys_state_var_mod, ONLY: zmea, zstd, zsig, zgam, zthe, zpic, zval, z0m, & 41 rlon,solsw, radsol, t_ancien, wake_deltat, wake_s, rain_fall, qsol, z0h, &42 rlat,sollw, rugoro, q_ancien, wake_deltaq, wake_pe, snow_fall, ratqs,w01, &41 solsw, radsol, t_ancien, wake_deltat, wake_s, rain_fall, qsol, z0h, & 42 sollw, rugoro, q_ancien, wake_deltaq, wake_pe, snow_fall, ratqs,w01, & 43 43 sig1, ftsol, clwcon, fm_therm, wake_Cstar, pctsrf, entr_therm,radpas, f0,& 44 44 zmax0,fevap, rnebcon,falb_dir, wake_fip, agesno, detr_therm, pbl_tke, & -
LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/init_ssrf_m.F90
r2342 r2399 3 3 !******************************************************************************* 4 4 5 USE indice_sol_mod 5 USE indice_sol_mod, ONLY: is_ter, is_oce, is_oce, is_lic, epsfra 6 6 USE dimphy, ONLY: klon, zmasq 7 USE phys_state_var_mod, ONLY: pctsrf, rlon, rlat 7 USE phys_state_var_mod, ONLY: pctsrf 8 USE geometry_mod, ONLY : longitude_deg, latitude_deg 8 9 USE grid_atob_m, ONLY: grille_m 9 10 USE ioipsl, ONLY: flininfo, flinopen, flinget, flinclo … … 45 46 46 47 !--- Physical grid points coordinates 47 DO j=2,jjm; rlat((j-2)*iim+2:(j-1)*iim+1)=rlatu(j); END DO 48 DO j=2,jjm; rlon((j-2)*iim+2:(j-1)*iim+1)=rlonv(1:im); END DO 49 rlat(1) = pi/2.; rlat(klon) = - pi/2.; rlat(:)=rlat(:)/deg2rad 50 rlon(1) = 0.0; rlon(klon) = 0.0; rlon(:)=rlon(:)/deg2rad 48 DO j=2,jjm; latitude_deg((j-2)*iim+2:(j-1)*iim+1)=rlatu(j); END DO 49 DO j=2,jjm; longitude_deg((j-2)*iim+2:(j-1)*iim+1)=rlonv(1:im); END DO 50 latitude_deg(1) = pi/2.; latitude_deg(klon) = - pi/2. 51 latitude_deg(:)=latitude_deg(:)/deg2rad 52 longitude_deg(1) = 0.0; longitude_deg(klon) = 0.0; 53 longitude_deg(:)=longitude_deg(:)/deg2rad 51 54 52 55 ! Compute ground geopotential, sub-cells quantities and possibly the mask. -
LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/limit_netcdf.F90
r2342 r2399 22 22 USE conf_dat_m, ONLY: conf_dat2d, conf_dat3d 23 23 USE dimphy, ONLY: klon, zmasq 24 USE phys_state_var_mod, ONLY: pctsrf, rlon, rlat 25 USE control_mod 24 USE geometry_mod, ONLY: longitude_deg, latitude_deg 25 USE phys_state_var_mod, ONLY: pctsrf 26 USE control_mod, ONLY: anneeref 26 27 USE init_ssrf_m, ONLY: start_init_subsurf 27 28 … … 113 114 CALL start_init_orog0(rlonv,rlatu,phis,masque) 114 115 CALL gr_dyn_fi(1,iip1,jjp1,klon,masque,zmasq) !--- To physical grid 115 ALLOCATE( rlon(klon),rlat(klon),pctsrf(klon,nbsrf))116 ALLOCATE(pctsrf(klon,nbsrf)) 116 117 CALL start_init_subsurf(.FALSE.) 117 118 END IF … … 267 268 CALL ncerr(NF90_PUT_VAR(nid,id_ALB ,phy_alb(:,:),[1,1],[klon,ndays]),fnam) 268 269 CALL ncerr(NF90_PUT_VAR(nid,id_RUG ,phy_rug(:,:),[1,1],[klon,ndays]),fnam) 269 call nf95_put_var(nid, varid_longitude, rlon)270 call nf95_put_var(nid, varid_latitude, rlat)270 call nf95_put_var(nid, varid_longitude, longitude_deg) 271 call nf95_put_var(nid, varid_latitude, latitude_deg) 271 272 272 273 CALL ncerr(NF90_CLOSE(nid),fnam) -
LMDZ5/trunk/libf/phylmd/add_phys_tend.F90
r2311 r2399 14 14 !====================================================================== 15 15 16 use dimphy 17 use phys_local_var_mod 18 use phys_state_var_mod 19 use print_control_mod, only: prt_level 16 USE dimphy, ONLY: klon, klev 17 USE phys_local_var_mod, ONLY: u_seri, v_seri, ql_seri, qs_seri, q_seri, & 18 t_seri 19 USE phys_state_var_mod, ONLY: ftsol, zdu 20 USE geometry_mod, ONLY: longitude_deg, latitude_deg 21 USE print_control_mod, ONLY: prt_level 20 22 IMPLICIT none 21 23 include "YOMCST.h" … … 106 108 i=jadrs(j) 107 109 if(prt_level.ge.debug_level) THEN 108 print*,'PLANTAGE POUR LE POINT i rlon rlat =',i,rlon(i),rlat(i),text 110 print*,'PLANTAGE POUR LE POINT i lon lat =',& 111 i,longitude_deg(i),latitude_deg(i),text 109 112 print*,'l T dT Q dQ ' 110 113 DO k = 1, klev … … 124 127 i=jqadrs(j) 125 128 if(prt_level.ge.debug_level) THEN 126 print*,'WARNING : EAU POUR LE POINT i rlon rlat =',i,rlon(i),rlat(i),text 129 print*,'WARNING : EAU POUR LE POINT i lon lat =',& 130 i,longitude_deg(i),latitude_deg(i),text 127 131 print*,'l T dT Q dQ ' 128 132 DO k = 1, klev … … 205 209 k=kadrs(j) 206 210 if(prt_level.ge.debug_level) THEN 207 print*,'PLANTAGE2 POUR LE POINT i itap rlon rlat txt jbad zdt t',i,itap,rlon(i),rlat(i),text,jbad, & 211 print*,'PLANTAGE2 POUR LE POINT i itap lon lat txt jbad zdt t',& 212 i,itap,longitude_deg(i),latitude_deg(i),text,jbad, & 208 213 & zdt(i,k),t_seri(i,k)-zdt(i,k) 209 214 !!! if(prt_level.ge.10.and.itap.GE.229.and.i.EQ.3027) THEN … … 222 227 k=kqadrs(j) 223 228 if(prt_level.ge.debug_level) THEN 224 print*,'WARNING : EAU2 POUR LE POINT i itap rlon rlat txt jqbad zdq q zdql ql',i,itap,rlon(i),rlat(i),text,jqbad,& 229 print*,'WARNING : EAU2 POUR LE POINT i itap lon lat txt jqbad zdq q zdql ql',& 230 i,itap,longitude_deg(i),latitude_deg(i),text,jqbad,& 225 231 & zdq(i,k), q_seri(i,k)-zdq(i,k), zdql(i,k), ql_seri(i,k)-zdql(i,k) 226 232 !!! if(prt_level.ge.10.and.itap.GE.229.and.i.EQ.3027) THEN -
LMDZ5/trunk/libf/phylmd/cpl_mod.F90
r2345 r2399 292 292 ! are stored in this module. 293 293 USE surface_data 294 USE phys_state_var_mod, ONLY : rlon, rlat294 USE geometry_mod, ONLY : longitude_deg, latitude_deg 295 295 USE carbon_cycle_mod, ONLY : carbon_cycle_cpl 296 296 USE indice_sol_mod … … 363 363 364 364 ! Transform the longitudes and latitudes on 2D arrays 365 CALL gather_omp( rlon,rlon_mpi)366 CALL gather_omp( rlat,rlat_mpi)365 CALL gather_omp(longitude_deg,rlon_mpi) 366 CALL gather_omp(latitude_deg,rlat_mpi) 367 367 !$OMP MASTER 368 368 CALL Grid1DTo2D_mpi(rlon_mpi,tmp_lon) -
LMDZ5/trunk/libf/phylmd/hgardfou.F90
r2346 r2399 2 2 ! $Id$ 3 3 SUBROUTINE hgardfou(t, tsol, text,abortphy) 4 USE dimphy 5 USE phys_state_var_mod 6 USE indice_sol_mod 4 USE dimphy, ONLY: klon, klev 5 USE phys_state_var_mod, ONLY: pctsrf 6 USE geometry_mod, ONLY: longitude_deg, latitude_deg 7 USE indice_sol_mod, ONLY: nbsrf 7 8 USE print_control_mod, ONLY: lunout 8 9 IMPLICIT NONE … … 55 56 DO i = 1, jbad 56 57 WRITE (lunout, *) 'i,k,temperature,lon,lat,pourc ter,lic,oce,sic =', & 57 jadrs(i), k, zt(jadrs(i)), rlon(jadrs(i)), rlat(jadrs(i)), &58 (pctsrf(jadrs(i),nsrf), nsrf=1, nbsrf)58 jadrs(i), k, zt(jadrs(i)), longitude_deg(jadrs(i)), & 59 latitude_deg(jadrs(i)),(pctsrf(jadrs(i),nsrf), nsrf=1, nbsrf) 59 60 END DO 60 61 END IF … … 75 76 DO i = 1, jbad 76 77 WRITE (lunout, *) 'i,k,temperature,lon,lat,pourc ter,lic,oce,sic =', & 77 jadrs(i), k, zt(jadrs(i)), rlon(jadrs(i)), rlat(jadrs(i)), &78 (pctsrf(jadrs(i),nsrf), nsrf=1, nbsrf)78 jadrs(i), k, zt(jadrs(i)), longitude_deg(jadrs(i)), & 79 latitude_deg(jadrs(i)), (pctsrf(jadrs(i),nsrf), nsrf=1, nbsrf) 79 80 END DO 80 81 END IF … … 101 102 WRITE (lunout, *) & 102 103 'i,nsrf,temperature,lon,lat,pourc ter,lic,oce,sic =', jadrs(i), & 103 nsrf, zt(jadrs(i)), rlon(jadrs(i)), rlat(jadrs(i)), &104 pctsrf(jadrs(i), nsrf)104 nsrf, zt(jadrs(i)), longitude_deg(jadrs(i)), & 105 latitude_deg(jadrs(i)), pctsrf(jadrs(i), nsrf) 105 106 END DO 106 107 END IF … … 122 123 WRITE (lunout, *) & 123 124 'i,nsrf,temperature,lon,lat,pourc ter,lic,oce,sic =', jadrs(i), & 124 nsrf, zt(jadrs(i)), rlon(jadrs(i)), rlat(jadrs(i)), &125 pctsrf(jadrs(i), nsrf)125 nsrf, zt(jadrs(i)), longitude_deg(jadrs(i)), & 126 latitude_deg(jadrs(i)), pctsrf(jadrs(i), nsrf) 126 127 END DO 127 128 END IF -
LMDZ5/trunk/libf/phylmd/ini_histday_seri.h
r2344 r2399 13 13 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 14 14 ! 15 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat, rlon,zx_lon)15 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,longitude_deg,zx_lon) 16 16 DO i = 1, nbp_lon 17 zx_lon(i,1) = rlon(i+1)18 zx_lon(i,nbp_lat) = rlon(i+1)17 zx_lon(i,1) = longitude_deg(i+1) 18 zx_lon(i,nbp_lat) = longitude_deg(i+1) 19 19 ENDDO 20 20 DO ll=1,klev 21 21 znivsig(ll)=REAL(ll) 22 22 ENDDO 23 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat, rlat,zx_lat)23 CALL gr_fi_ecrit(1,klon,nbp_lon,nbp_lat,latitude_deg,zx_lat) 24 24 ! 25 25 imin_debut=1 -
LMDZ5/trunk/libf/phylmd/ini_paramLMDZ_phy.h
r2344 r2399 1 1 !IM Implemente en modes sequentiel et parallele 2 2 3 CALL gather( rlat,rlat_glo)3 CALL gather(latitude_deg,rlat_glo) 4 4 CALL bcast(rlat_glo) 5 CALL gather( rlon,rlon_glo)5 CALL gather(longitude_deg,rlon_glo) 6 6 CALL bcast(rlon_glo) 7 7 -
LMDZ5/trunk/libf/phylmd/phyetat0.F90
r2344 r2399 14 14 falb_dir, falb_dif, & 15 15 ftsol, pbl_tke, pctsrf, q_ancien, radpas, radsol, rain_fall, ratqs, & 16 r lat, rlon, rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, sollwdown, &16 rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, sollwdown, & 17 17 solsw, t_ancien, u_ancien, v_ancien, w01, wake_cstar, wake_deltaq, & 18 18 wake_deltat, wake_delta_pbl_TKE, delta_tsurf, wake_fip, wake_pe, & … … 20 20 zmax0, zmea, zpic, zsig, & 21 21 zstd, zthe, zval, ale_bl, ale_bl_trig, alp_bl 22 USE geometry_mod, ONLY : longitude_deg, latitude_deg 22 23 USE iostart, ONLY : close_startphy, get_field, get_var, open_startphy 23 24 USE infotrac_phy, only: nbtr, nqo, type_trac, tname, niadv … … 71 72 CHARACTER*2 str2 72 73 LOGICAL :: found,phyetat0_get,phyetat0_srf 74 REAL :: lon_startphy(klon), lat_startphy(klon) 73 75 74 76 ! FH1D … … 137 139 CALL init_iteration(itau_phy) 138 140 139 ! Lecture des latitudes (coordonnees): 140 141 CALL get_field("latitude", rlat) 142 143 ! Lecture des longitudes (coordonnees): 144 145 CALL get_field("longitude", rlon) 141 ! read latitudes and make a sanity check (because already known from dyn) 142 CALL get_field("latitude",lat_startphy) 143 DO i=1,klon 144 IF (ABS(lat_startphy(i)-latitude_deg(i))>=1) THEN 145 WRITE(*,*) "phyetat0: Error! Latitude discrepancy wrt startphy file:",& 146 " i=",i," lat_startphy(i)=",lat_startphy(i),& 147 " latitude_deg(i)=",latitude_deg(i) 148 ! This is presumably serious enough to abort run 149 CALL abort_physic("phyetat0","discrepancy in latitudes!",1) 150 ENDIF 151 IF (ABS(lat_startphy(i)-latitude_deg(i))>=0.0001) THEN 152 WRITE(*,*) "phyetat0: Warning! Latitude discrepancy wrt startphy file:",& 153 " i=",i," lat_startphy(i)=",lat_startphy(i),& 154 " latitude_deg(i)=",latitude_deg(i) 155 ENDIF 156 ENDDO 157 158 ! read longitudes and make a sanity check (because already known from dyn) 159 CALL get_field("longitude",lon_startphy) 160 DO i=1,klon 161 IF (ABS(lon_startphy(i)-longitude_deg(i))>=1) THEN 162 WRITE(*,*) "phyetat0: Error! Longitude discrepancy wrt startphy file:",& 163 " i=",i," lon_startphy(i)=",lon_startphy(i),& 164 " longitude_deg(i)=",longitude_deg(i) 165 ! This is presumably serious enough to abort run 166 CALL abort_physic("phyetat0","discrepancy in longitudes!",1) 167 ENDIF 168 IF (ABS(lon_startphy(i)-longitude_deg(i))>=0.0001) THEN 169 WRITE(*,*) "phyetat0: Warning! Longitude discrepancy wrt startphy file:",& 170 " i=",i," lon_startphy(i)=",lon_startphy(i),& 171 " longitude_deg(i)=",longitude_deg(i) 172 ENDIF 173 ENDDO 146 174 147 175 ! Lecture du masque terre mer … … 430 458 ! Initialize module ocean_cpl_mod for the case of coupled ocean 431 459 IF ( type_ocean == 'couple' ) THEN 432 CALL ocean_cpl_init(dtime, rlon, rlat)460 CALL ocean_cpl_init(dtime, longitude_deg, latitude_deg) 433 461 ENDIF 434 462 435 CALL init_iophy_new( rlat, rlon)463 CALL init_iophy_new(latitude_deg, longitude_deg) 436 464 437 465 ! Initilialize module fonte_neige_mod -
LMDZ5/trunk/libf/phylmd/phys_state_var_mod.F90
r2366 r2399 22 22 !$OMP THREADPRIVATE(dtime, solaire_etat0) 23 23 24 REAL, ALLOCATABLE, SAVE :: rlat(:), rlon(:),pctsrf(:,:)25 !$OMP THREADPRIVATE( rlat, rlon,pctsrf)24 REAL, ALLOCATABLE, SAVE :: pctsrf(:,:) 25 !$OMP THREADPRIVATE(pctsrf) 26 26 REAL, ALLOCATABLE, SAVE :: ftsol(:,:) 27 27 !$OMP THREADPRIVATE(ftsol) … … 420 420 421 421 include "clesphys.h" 422 ALLOCATE(rlat(klon), rlon(klon)) 422 423 423 ALLOCATE(pctsrf(klon,nbsrf)) 424 424 ALLOCATE(ftsol(klon,nbsrf)) … … 590 590 !====================================================================== 591 591 SUBROUTINE phys_state_var_end 592 USE dimphy592 !USE dimphy 593 593 USE indice_sol_mod 594 594 IMPLICIT NONE 595 595 include "clesphys.h" 596 596 597 deallocate( rlat, rlon,pctsrf, ftsol, falb1, falb2)597 deallocate(pctsrf, ftsol, falb1, falb2) 598 598 deallocate(qsol,fevap,z0m,z0h,agesno) 599 599 deallocate(rain_fall, snow_fall, solsw, sollw, radsol, swradcorr) -
LMDZ5/trunk/libf/phylmd/physiq.F90
r2393 r2399 925 925 igout=klon/2+1/klon 926 926 write(lunout,*) 'DEBUT DE PHYSIQ !!!!!!!!!!!!!!!!!!!!' 927 write(lunout,*) 'igout, rlat, rlon ',igout, latitude_deg(igout), longitude_deg(igout)927 write(lunout,*) 'igout, lat, lon ',igout, latitude_deg(igout), longitude_deg(igout) 928 928 write(lunout,*) & 929 929 'nlon,klev,nqtot,debut,lafin, jD_cur, jH_cur,pdtphys' … … 1311 1311 ok_sync_omp=.false. 1312 1312 CALL getin('ok_sync',ok_sync_omp) 1313 call phys_output_open( rlon,rlat,nCFMIP,tabijGCM, &1313 call phys_output_open(longitude_deg,latitude_deg,nCFMIP,tabijGCM, & 1314 1314 iGCM,jGCM,lonGCM,latGCM, & 1315 1315 jjmp1,nlevSTD,clevSTD,rlevSTD, dtime,ok_veget, & … … 1366 1366 ra, & 1367 1367 cell_area, & 1368 rlat, &1369 rlon, &1368 latitude_deg, & 1369 longitude_de, & 1370 1370 presnivs, & 1371 1371 calday, & … … 1728 1728 zzz=real(90) ! could be revisited 1729 1729 ENDIF 1730 wo(:,:,1)=ozonecm( rlat, paprs,read_climoz,rjour=zzz)1730 wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz) 1731 1731 ENDIF 1732 1732 ! … … 1830 1830 ! non nul aux poles. 1831 1831 IF (abs(solarlong0-1000.)<1.e-4) then 1832 call zenang_an(iflag_cycle_diurne.GE.1,jH_cur,rlat,rlon,rmu0,fract) 1832 call zenang_an(iflag_cycle_diurne.GE.1,jH_cur, & 1833 latitude_deg,longitude_deg,rmu0,fract) 1833 1834 JrNt = 1.0 1834 1835 ELSE … … 1837 1838 CASE(0) 1838 1839 ! Sans cycle diurne 1839 CALL angle(zlongi, rlat, fract, rmu0)1840 CALL angle(zlongi, latitude_deg, fract, rmu0) 1840 1841 swradcorr = 1.0 1841 1842 JrNt = 1.0 … … 1846 1847 ! on integre entre gmtime et gmtime+radpas 1847 1848 zdtime=dtime*REAL(radpas) ! pas de temps du rayonnement (s) 1848 CALL zenang(zlongi,jH_cur,0.0,zdtime,rlat,rlon,rmu0,fract) 1849 CALL zenang(zlongi,jH_cur,0.0,zdtime, & 1850 latitude_deg,longitude_deg,rmu0,fract) 1849 1851 zrmu0 = rmu0 1850 1852 swradcorr = 1.0 … … 1861 1863 zdtime1=dtime*REAL(-MOD(itaprad,radpas)-1) 1862 1864 zdtime2=dtime*REAL(radpas-MOD(itaprad,radpas)-1) 1863 CALL zenang(zlongi,jH_cur,zdtime1,zdtime2,rlat,rlon,rmu0,fract) 1865 CALL zenang(zlongi,jH_cur,zdtime1,zdtime2, & 1866 latitude_deg,longitude_deg,rmu0,fract) 1864 1867 ! 1865 1868 ! Calcul des poids … … 1867 1870 zdtime1=-dtime !--on corrige le rayonnement pour representer le 1868 1871 zdtime2=0.0 !--pas de temps de la physique qui se termine 1869 CALL zenang(zlongi,jH_cur,zdtime1,zdtime2,rlat,rlon,zrmu0,zfract) 1872 CALL zenang(zlongi,jH_cur,zdtime1,zdtime2, & 1873 latitude_deg,longitude_deg,zrmu0,zfract) 1870 1874 swradcorr = 0.0 1871 1875 WHERE (rmu0.GE.1.e-10 .OR. fract.GE.1.e-10) swradcorr=zfract/fract*zrmu0/rmu0 … … 1947 1951 dtime, date0, itap, days_elapsed+1, & 1948 1952 debut, lafin, & 1949 rlon, rlat,rugoro, zrmu0, &1953 longitude_deg, latitude_deg, rugoro, zrmu0, & 1950 1954 zsig, sollwdown, pphi, cldt, & 1951 1955 rain_fall, snow_fall, solsw, sollw, & … … 3412 3416 CALL AEROSOL_METEO_CALC( & 3413 3417 calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs, & 3414 prfl,psfl,pctsrf,cell_area,rlat,rlon,u10m,v10m) 3418 prfl,psfl,pctsrf,cell_area, & 3419 latitude_deg,longitude_deg,u10m,v10m) 3415 3420 END IF 3416 3421 … … 3421 3426 jH_cur, & 3422 3427 pctsrf(1,1), & 3423 rlat, &3424 rlon, &3428 latitude_deg, & 3429 longitude_deg, & 3425 3430 cell_area, & 3426 3431 paprs, & … … 3534 3539 DO i=1,klon 3535 3540 ! 3536 if (rlon(i).ge.lon1_beta.AND.rlon(i).le.lon2_beta.AND. & 3537 rlat(i).le.lat1_beta.AND.rlat(i).ge.lat2_beta) THEN 3541 if (longitude_deg(i).ge.lon1_beta.AND. & 3542 longitude_deg(i).le.lon2_beta.AND. & 3543 latitude_deg(i).le.lat1_beta.AND. & 3544 latitude_deg(i).ge.lat2_beta) THEN 3538 3545 if (pplay(i,k).GE.pfree) THEN 3539 3546 beta(i,k) = beta_pbl … … 3883 3890 3884 3891 CALL lift_noro_strato(klon,klev,dtime,paprs,pplay, & 3885 rlat,zmea,zstd,zpic,zgam,zthe,zpic,zval, &3892 latitude_deg,zmea,zstd,zpic,zgam,zthe,zpic,zval, & 3886 3893 igwd,idx,itest, & 3887 3894 t_seri, u_seri, v_seri, & … … 3891 3898 ELSE 3892 3899 CALL lift_noro(klon,klev,dtime,paprs,pplay, & 3893 rlat,zmea,zstd,zpic, &3900 latitude_deg,zmea,zstd,zpic, & 3894 3901 itest, & 3895 3902 t_seri, u_seri, v_seri, & … … 3909 3916 du_gwd_hines=0. 3910 3917 dv_gwd_hines=0. 3911 CALL hines_gwd(klon, klev, dtime, paprs, pplay, rlat, t_seri, u_seri, &3918 CALL hines_gwd(klon, klev, dtime, paprs, pplay, latitude_deg, t_seri, u_seri, & 3912 3919 v_seri, zustr_gwd_hines, zvstr_gwd_hines, d_t_hin, du_gwd_hines, & 3913 3920 dv_gwd_hines) … … 3927 3934 3928 3935 IF (.not. ok_hines .and. ok_gwd_rando) then 3929 CALL acama_GWD_rando(DTIME, pplay, rlat, t_seri, u_seri, v_seri, rot, &3936 CALL acama_GWD_rando(DTIME, pplay, latitude_deg, t_seri, u_seri, v_seri, rot, & 3930 3937 zustr_gwd_front, zvstr_gwd_front, du_gwd_front, dv_gwd_front, & 3931 3938 east_gwstress, west_gwstress) … … 3986 3993 CALL aaam_bud (27,klon,klev,jD_cur-jD_ref,jH_cur, & 3987 3994 ra,rg,romega, & 3988 rlat,rlon,pphis, &3995 latitude_deg,longitude_deg,pphis, & 3989 3996 zustrdr,zustrli,zustrph, & 3990 3997 zvstrdr,zvstrli,zvstrph, & … … 4034 4041 ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, & 4035 4042 ecrit_mth,ecrit_day,ecrit_hf, ok_all_xml, & 4036 klon,klev, rlon,rlat,presnivs,overlap, &4043 klon,klev,longitude_deg,latitude_deg,presnivs,overlap, & 4037 4044 fract,ref_liq,ref_ice, & 4038 4045 pctsrf(:,is_ter)+pctsrf(:,is_lic), & … … 4078 4085 zustar, zu10m, zv10m, & 4079 4086 wstar(:,is_ave), ale_bl, ale_wake, & 4080 rlat, rlon, &4087 latitude_deg, longitude_deg, & 4081 4088 frac_impa,frac_nucl, beta_prec_fisrt,beta_prec, & 4082 4089 presnivs, pphis, pphi, albsol1, & … … 4099 4106 print*,'Attention on met a 0 les thermiques pour phystoke' 4100 4107 call phystokenc ( & 4101 nlon,klev,pdtphys, rlon,rlat, &4108 nlon,klev,pdtphys,longitude_deg,latitude_deg, & 4102 4109 t,pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, & 4103 4110 fm_therm,entr_therm, & -
LMDZ5/trunk/libf/phylmd/print_debug_phys.F90
r1907 r2399 1 1 SUBROUTINE print_debug_phys (i,debug_lev,text) 2 2 3 use dimphy 4 use phys_local_var_mod 5 use phys_state_var_mod 3 USE dimphy, ONLY: klev 4 USE phys_local_var_mod, ONLY: u_seri, v_seri, t_seri, q_seri, ql_seri 5 USE geometry_mod, ONLY: longitude_deg, latitude_deg 6 6 IMPLICIT NONE 7 7 integer i,debug_lev … … 14 14 print*,'l u, v, T, q, ql' 15 15 DO k = 1, klev 16 write(*,'(i3,2f8.4,3f14.4,2e14.2)') k, rlon(i),rlat(i),u_seri(i,k),v_seri(i,k),t_seri(i,k),q_seri(i,k),ql_seri(i,k)16 write(*,'(i3,2f8.4,3f14.4,2e14.2)') k,longitude_deg(i),latitude_deg(i),u_seri(i,k),v_seri(i,k),t_seri(i,k),q_seri(i,k),ql_seri(i,k) 17 17 ENDDO 18 18 -
LMDZ5/trunk/libf/phylmd/write_histday_seri.h
r2351 r2399 57 57 DO k=1, klev 58 58 DO i=1, klon 59 zx_tmp_fi3d(i,k)=u_seri(i,k)*RA*cos(pir* rlat(i))59 zx_tmp_fi3d(i,k)=u_seri(i,k)*RA*cos(pir*latitude_deg(i)) 60 60 ENDDO 61 61 ENDDO … … 72 72 ! 73 73 DO i=1, klon 74 zx_tmp_fi2d(i)=zxfluxu(i,1)*RA* cos(pir* rlat(i))74 zx_tmp_fi2d(i)=zxfluxu(i,1)*RA* cos(pir*latitude_deg(i)) 75 75 ENDDO 76 76 ! … … 89 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 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat, rlat,rlatdyn)91 CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,latitude_deg,rlatdyn) 92 92 mountor=0. 93 93 airetot=0.
Note: See TracChangeset
for help on using the changeset viewer.