Changeset 2399 for LMDZ5


Ignore:
Timestamp:
Nov 20, 2015, 5:23:28 PM (9 years ago)
Author:
Ehouarn Millour
Message:

Follow-up from commit 2395: get rid of rlon and rlat, longitude_deg and latitude_deg (from module geometry_mod) should be used instead. Longitudes and latitudes are no longer loaded from startphy.nc but inherited from dynamics (and compatibility with values in startphy.nc is checked). This will change bench results because of roundoffs differences between the two.
EM

Location:
LMDZ5/trunk/libf
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/etat0phys_netcdf.F90

    r2336 r2399  
    3939  USE conf_dat_m,         ONLY: conf_dat2d
    4040  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, &
    4343    sig1, ftsol, clwcon, fm_therm, wake_Cstar,  pctsrf,  entr_therm,radpas, f0,&
    4444    zmax0,fevap, rnebcon,falb_dir, wake_fip,    agesno,  detr_therm, pbl_tke,  &
  • LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/init_ssrf_m.F90

    r2342 r2399  
    33!*******************************************************************************
    44
    5   USE indice_sol_mod
     5  USE indice_sol_mod, ONLY: is_ter, is_oce, is_oce, is_lic, epsfra
    66  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
    89  USE grid_atob_m,        ONLY: grille_m
    910  USE ioipsl,             ONLY: flininfo, flinopen, flinget, flinclo
     
    4546
    4647!--- 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
    5154
    5255! Compute ground geopotential, sub-cells quantities and possibly the mask.
  • LMDZ5/trunk/libf/dynlonlat_phylonlat/phylmd/limit_netcdf.F90

    r2342 r2399  
    2222  USE conf_dat_m,         ONLY: conf_dat2d, conf_dat3d
    2323  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
    2627  USE init_ssrf_m,        ONLY: start_init_subsurf
    2728
     
    113114    CALL start_init_orog0(rlonv,rlatu,phis,masque)
    114115    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))
    116117    CALL start_init_subsurf(.FALSE.)
    117118  END IF
     
    267268  CALL ncerr(NF90_PUT_VAR(nid,id_ALB ,phy_alb(:,:),[1,1],[klon,ndays]),fnam)
    268269  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)
    271272
    272273  CALL ncerr(NF90_CLOSE(nid),fnam)
  • LMDZ5/trunk/libf/phylmd/add_phys_tend.F90

    r2311 r2399  
    1414!======================================================================
    1515
    16 use dimphy
    17 use phys_local_var_mod
    18 use phys_state_var_mod
    19 use print_control_mod, only: prt_level
     16USE dimphy, ONLY: klon, klev
     17USE phys_local_var_mod, ONLY: u_seri, v_seri, ql_seri, qs_seri, q_seri, &
     18                              t_seri
     19USE phys_state_var_mod, ONLY: ftsol, zdu
     20USE geometry_mod, ONLY: longitude_deg, latitude_deg
     21USE print_control_mod, ONLY: prt_level
    2022IMPLICIT none
    2123  include "YOMCST.h"
     
    106108         i=jadrs(j)
    107109         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
    109112          print*,'l    T     dT       Q     dQ    '
    110113          DO k = 1, klev
     
    124127        i=jqadrs(j)
    125128          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
    127131           print*,'l    T     dT       Q     dQ    '
    128132           DO k = 1, klev
     
    205209         k=kadrs(j)
    206210         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, &
    208213       &        zdt(i,k),t_seri(i,k)-zdt(i,k)
    209214!!!       if(prt_level.ge.10.and.itap.GE.229.and.i.EQ.3027) THEN
     
    222227         k=kqadrs(j)
    223228         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,&
    225231       &        zdq(i,k), q_seri(i,k)-zdq(i,k), zdql(i,k), ql_seri(i,k)-zdql(i,k)
    226232!!!       if(prt_level.ge.10.and.itap.GE.229.and.i.EQ.3027) THEN
  • LMDZ5/trunk/libf/phylmd/cpl_mod.F90

    r2345 r2399  
    292292! are stored in this module.
    293293    USE surface_data
    294     USE phys_state_var_mod, ONLY : rlon, rlat
     294    USE geometry_mod, ONLY : longitude_deg, latitude_deg
    295295    USE carbon_cycle_mod, ONLY : carbon_cycle_cpl
    296296    USE indice_sol_mod
     
    363363
    364364! 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)
    367367!$OMP MASTER
    368368          CALL Grid1DTo2D_mpi(rlon_mpi,tmp_lon)
  • LMDZ5/trunk/libf/phylmd/hgardfou.F90

    r2346 r2399  
    22! $Id$
    33SUBROUTINE 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
    78  USE print_control_mod, ONLY: lunout
    89  IMPLICIT NONE
     
    5556      DO i = 1, jbad
    5657        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)
    5960      END DO
    6061    END IF
     
    7576      DO i = 1, jbad
    7677        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)
    7980      END DO
    8081    END IF
     
    101102        WRITE (lunout, *) &
    102103          '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)
    105106      END DO
    106107    END IF
     
    122123        WRITE (lunout, *) &
    123124          '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)
    126127      END DO
    127128    END IF
  • LMDZ5/trunk/libf/phylmd/ini_histday_seri.h

    r2344 r2399  
    1313         CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    1414!
    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)
    1616         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)
    1919         ENDDO
    2020         DO ll=1,klev
    2121            znivsig(ll)=REAL(ll)
    2222         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)
    2424!
    2525         imin_debut=1
  • LMDZ5/trunk/libf/phylmd/ini_paramLMDZ_phy.h

    r2344 r2399  
    11!IM    Implemente en modes sequentiel et parallele
    22
    3        CALL gather(rlat,rlat_glo)
     3       CALL gather(latitude_deg,rlat_glo)
    44       CALL bcast(rlat_glo)
    5        CALL gather(rlon,rlon_glo)
     5       CALL gather(longitude_deg,rlon_glo)
    66       CALL bcast(rlon_glo)
    77
  • LMDZ5/trunk/libf/phylmd/phyetat0.F90

    r2344 r2399  
    1414       falb_dir, falb_dif, &
    1515       ftsol, pbl_tke, pctsrf, q_ancien, radpas, radsol, rain_fall, ratqs, &
    16        rlat, rlon, rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, sollwdown, &
     16       rnebcon, rugoro, sig1, snow_fall, solaire_etat0, sollw, sollwdown, &
    1717       solsw, t_ancien, u_ancien, v_ancien, w01, wake_cstar, wake_deltaq, &
    1818       wake_deltat, wake_delta_pbl_TKE, delta_tsurf, wake_fip, wake_pe, &
     
    2020       zmax0, zmea, zpic, zsig, &
    2121       zstd, zthe, zval, ale_bl, ale_bl_trig, alp_bl
     22  USE geometry_mod, ONLY : longitude_deg, latitude_deg
    2223  USE iostart, ONLY : close_startphy, get_field, get_var, open_startphy
    2324  USE infotrac_phy, only: nbtr, nqo, type_trac, tname, niadv
     
    7172  CHARACTER*2 str2
    7273  LOGICAL :: found,phyetat0_get,phyetat0_srf
     74  REAL :: lon_startphy(klon), lat_startphy(klon)
    7375
    7476  ! FH1D
     
    137139   CALL init_iteration(itau_phy)
    138140
    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
    146174
    147175  ! Lecture du masque terre mer
     
    430458  ! Initialize module ocean_cpl_mod for the case of coupled ocean
    431459  IF ( type_ocean == 'couple' ) THEN
    432      CALL ocean_cpl_init(dtime, rlon, rlat)
     460     CALL ocean_cpl_init(dtime, longitude_deg, latitude_deg)
    433461  ENDIF
    434462
    435   CALL init_iophy_new(rlat, rlon)
     463  CALL init_iophy_new(latitude_deg, longitude_deg)
    436464
    437465  ! Initilialize module fonte_neige_mod     
  • LMDZ5/trunk/libf/phylmd/phys_state_var_mod.F90

    r2366 r2399  
    2222!$OMP THREADPRIVATE(dtime, solaire_etat0)
    2323
    24       REAL, ALLOCATABLE, SAVE :: rlat(:), rlon(:), pctsrf(:,:)
    25 !$OMP THREADPRIVATE(rlat, rlon, pctsrf)
     24      REAL, ALLOCATABLE, SAVE :: pctsrf(:,:)
     25!$OMP THREADPRIVATE(pctsrf)
    2626      REAL, ALLOCATABLE, SAVE :: ftsol(:,:)
    2727!$OMP THREADPRIVATE(ftsol)
     
    420420
    421421include "clesphys.h"
    422       ALLOCATE(rlat(klon), rlon(klon))
     422
    423423      ALLOCATE(pctsrf(klon,nbsrf))
    424424      ALLOCATE(ftsol(klon,nbsrf))
     
    590590!======================================================================
    591591SUBROUTINE phys_state_var_end
    592 USE dimphy
     592!USE dimphy
    593593USE indice_sol_mod
    594594IMPLICIT NONE
    595595include "clesphys.h"
    596596
    597       deallocate(rlat, rlon, pctsrf, ftsol, falb1, falb2)
     597      deallocate(pctsrf, ftsol, falb1, falb2)
    598598      deallocate(qsol,fevap,z0m,z0h,agesno)
    599599      deallocate(rain_fall, snow_fall, solsw, sollw, radsol, swradcorr)
  • LMDZ5/trunk/libf/phylmd/physiq.F90

    r2393 r2399  
    925925     igout=klon/2+1/klon
    926926     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)
    928928     write(lunout,*) &
    929929          'nlon,klev,nqtot,debut,lafin, jD_cur, jH_cur,pdtphys'
     
    13111311     ok_sync_omp=.false.
    13121312     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, &
    13141314          iGCM,jGCM,lonGCM,latGCM, &
    13151315          jjmp1,nlevSTD,clevSTD,rlevSTD, dtime,ok_veget, &
     
    13661366             ra, &
    13671367             cell_area, &
    1368              rlat, &
    1369              rlon, &
     1368             latitude_deg, &
     1369             longitude_de, &
    13701370             presnivs, &
    13711371             calday, &
     
    17281728        zzz=real(90) ! could be revisited
    17291729     ENDIF
    1730      wo(:,:,1)=ozonecm(rlat, paprs,read_climoz,rjour=zzz)
     1730     wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz)
    17311731  ENDIF
    17321732  !
     
    18301830  ! non nul aux poles.
    18311831  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)
    18331834     JrNt = 1.0
    18341835  ELSE
     
    18371838     CASE(0) 
    18381839     !  Sans cycle diurne
    1839         CALL angle(zlongi, rlat, fract, rmu0)
     1840        CALL angle(zlongi, latitude_deg, fract, rmu0)
    18401841        swradcorr = 1.0
    18411842        JrNt = 1.0
     
    18461847     !  on integre entre gmtime et gmtime+radpas
    18471848        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)
    18491851        zrmu0 = rmu0
    18501852        swradcorr = 1.0
     
    18611863        zdtime1=dtime*REAL(-MOD(itaprad,radpas)-1)     
    18621864        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)
    18641867     !
    18651868     ! Calcul des poids
     
    18671870        zdtime1=-dtime !--on corrige le rayonnement pour representer le
    18681871        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)
    18701874        swradcorr = 0.0
    18711875        WHERE (rmu0.GE.1.e-10 .OR. fract.GE.1.e-10) swradcorr=zfract/fract*zrmu0/rmu0
     
    19471951          dtime,     date0,     itap,    days_elapsed+1, &
    19481952          debut,     lafin, &
    1949           rlon,      rlat,      rugoro,  zrmu0,      &
     1953          longitude_deg, latitude_deg, rugoro,  zrmu0,      &
    19501954          zsig,      sollwdown, pphi,    cldt,      &
    19511955          rain_fall, snow_fall, solsw,   sollw,     &
     
    34123416        CALL AEROSOL_METEO_CALC( &
    34133417             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)
    34153420     END IF
    34163421
     
    34213426          jH_cur, &
    34223427          pctsrf(1,1), &
    3423           rlat, &
    3424           rlon, &
     3428          latitude_deg, &
     3429          longitude_deg, &
    34253430          cell_area, &
    34263431          paprs, &
     
    35343539        DO i=1,klon
    35353540           !
    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
    35383545              if (pplay(i,k).GE.pfree) THEN
    35393546                 beta(i,k) = beta_pbl
     
    38833890
    38843891        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, &
    38863893             igwd,idx,itest, &
    38873894             t_seri, u_seri, v_seri, &
     
    38913898     ELSE
    38923899        CALL lift_noro(klon,klev,dtime,paprs,pplay, &
    3893              rlat,zmea,zstd,zpic, &
     3900             latitude_deg,zmea,zstd,zpic, &
    38943901             itest, &
    38953902             t_seri, u_seri, v_seri, &
     
    39093916     du_gwd_hines=0.
    39103917     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, &
    39123919          v_seri, zustr_gwd_hines, zvstr_gwd_hines, d_t_hin, du_gwd_hines, &
    39133920          dv_gwd_hines)
     
    39273934
    39283935  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, &
    39303937          zustr_gwd_front, zvstr_gwd_front, du_gwd_front, dv_gwd_front, &
    39313938          east_gwstress, west_gwstress)
     
    39863993     CALL aaam_bud (27,klon,klev,jD_cur-jD_ref,jH_cur, &
    39873994          ra,rg,romega, &
    3988           rlat,rlon,pphis, &
     3995          latitude_deg,longitude_deg,pphis, &
    39893996          zustrdr,zustrli,zustrph, &
    39903997          zvstrdr,zvstrli,zvstrph, &
     
    40344041             ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, &
    40354042             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, &
    40374044             fract,ref_liq,ref_ice, &
    40384045             pctsrf(:,is_ter)+pctsrf(:,is_lic), &
     
    40784085       zustar,   zu10m,     zv10m, &
    40794086       wstar(:,is_ave),    ale_bl,         ale_wake, &
    4080        rlat,     rlon, &
     4087       latitude_deg, longitude_deg, &
    40814088       frac_impa,frac_nucl, beta_prec_fisrt,beta_prec, &
    40824089       presnivs, pphis,     pphi,     albsol1, &
     
    40994106          print*,'Attention on met a 0 les thermiques pour phystoke'
    41004107     call phystokenc ( &
    4101           nlon,klev,pdtphys,rlon,rlat, &
     4108          nlon,klev,pdtphys,longitude_deg,latitude_deg, &
    41024109          t,pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, &
    41034110          fm_therm,entr_therm, &
  • LMDZ5/trunk/libf/phylmd/print_debug_phys.F90

    r1907 r2399  
    11SUBROUTINE print_debug_phys (i,debug_lev,text)
    22
    3 use dimphy
    4 use phys_local_var_mod
    5 use phys_state_var_mod
     3USE dimphy, ONLY: klev
     4USE phys_local_var_mod, ONLY: u_seri, v_seri, t_seri, q_seri, ql_seri
     5USE geometry_mod, ONLY: longitude_deg, latitude_deg
    66IMPLICIT NONE
    77integer i,debug_lev
     
    1414print*,'l    u, v, T, q, ql'
    1515DO 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)
    1717ENDDO
    1818
  • LMDZ5/trunk/libf/phylmd/write_histday_seri.h

    r2351 r2399  
    5757      DO k=1, klev
    5858      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))
    6060      ENDDO
    6161      ENDDO
     
    7272!
    7373      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))
    7575      ENDDO
    7676!
     
    8989      CALL gr_fi_dyn(1,klon,nbp_lon+1,nbp_lat,cell_area,airedyn)
    9090      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)
    9292      mountor=0.
    9393      airetot=0.
Note: See TracChangeset for help on using the changeset viewer.