Changeset 1541 for trunk/LMDZ.MARS/libf


Ignore:
Timestamp:
Apr 17, 2016, 10:23:21 PM (9 years ago)
Author:
emillour
Message:

Mars GCM:

  • fix for 1D in writediagfi to enable writing at "ecritphy" rate.
  • removed iniprint.h from phymars/dyn1d since it is in "misc"
  • Some code cleanup in anticipation of future updates:
    • changed variable names in comgeomphy.F90: give them more explicit names: rlond => longitude , rlatd => latitude, airephy => cell_area, cuphy => dx , cvphy => dy
    • removed long(), lati() and area() from comgeomfi_h.F90, use longitude(), latitude() and cell_are() from comgeomphy.F90 instead

EM

Location:
trunk/LMDZ.MARS/libf
Files:
1 deleted
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/aeronomars/moldiff_red.F90

    r1528 r1541  
    33
    44use tracer_mod, only: noms, mmol
    5 use comgeomfi_h, only: area
     5use comgeomphy, only: cell_area
    66
    77implicit none
     
    591591! the trend only at the end
    592592
    593         PhiEscH=PhiEscH+wi(i_h)*Nrafk(nlraf,i_h)*area(ig) ! in s-1
    594         PhiEscH2=PhiEscH2+wi(i_h2)*Nrafk(nlraf,i_h2)*area(ig) ! in s-1 (U in m/s, aire in m2, Nrafk in m-3)
    595 !       print*,'test',ig,wi(i_h),Nrafk(nlraf,i_h),wi(i_h2),Nrafk(nlraf,i_h2),area(ig),PhiEscH,PhiEscH2,i_h,i_h2
     593        PhiEscH=PhiEscH+wi(i_h)*Nrafk(nlraf,i_h)*cell_area(ig) ! in s-1
     594        PhiEscH2=PhiEscH2+wi(i_h2)*Nrafk(nlraf,i_h2)*cell_area(ig) ! in s-1 (U in m/s, aire in m2, Nrafk in m-3)
     595!       print*,'test',ig,wi(i_h),Nrafk(nlraf,i_h),wi(i_h2),Nrafk(nlraf,i_h2),cell_area(ig),PhiEscH,PhiEscH2,i_h,i_h2
    596596!       stop
    597597
  • trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/iniphysiq_mod.F90

    r1524 r1541  
    1616
    1717use comgeomphy, only : initcomgeomphy, &
    18                        airephy, & ! physics grid area (m2)
    19                        cuphy, & ! cu coeff. (u_covariant = cu * u)
    20                        cvphy, & ! cv coeff. (v_covariant = cv * v)
    21                        rlond, & ! longitudes
    22                        rlatd ! latitudes
     18                       cell_area, & ! physics grid area (m2)
     19                       dx, & ! cu coeff. (u_covariant = cu * u)
     20                       dy, & ! cv coeff. (v_covariant = cv * v)
     21                       longitude, & ! longitudes (rad)
     22                       latitude ! latitudes (rad)
    2323use infotrac, only : nqtot ! number of advected tracers
    2424use comgeomfi_h, only: ini_fillgeom
     
    164164     
    165165offset=klon_mpi_begin-1
    166 airephy(1:klon_omp)=airefi(offset+klon_omp_begin:offset+klon_omp_end)
    167 cuphy(1:klon_omp)=cufi(offset+klon_omp_begin:offset+klon_omp_end)
    168 cvphy(1:klon_omp)=cvfi(offset+klon_omp_begin:offset+klon_omp_end)
    169 rlond(1:klon_omp)=lonfi(offset+klon_omp_begin:offset+klon_omp_end)
    170 rlatd(1:klon_omp)=latfi(offset+klon_omp_begin:offset+klon_omp_end)
     166cell_area(1:klon_omp)=airefi(offset+klon_omp_begin:offset+klon_omp_end)
     167dx(1:klon_omp)=cufi(offset+klon_omp_begin:offset+klon_omp_end)
     168dy(1:klon_omp)=cvfi(offset+klon_omp_begin:offset+klon_omp_end)
     169longitude(1:klon_omp)=lonfi(offset+klon_omp_begin:offset+klon_omp_end)
     170latitude(1:klon_omp)=latfi(offset+klon_omp_begin:offset+klon_omp_end)
    171171
    172172! copy some fundamental parameters to physics
     
    175175                         day_ini,hour_ini,punjours,ptimestep, &
    176176                         prad,pg,pr,pcpp)
    177 call ini_fillgeom(klon_omp,rlatd,rlond,airephy)
     177call ini_fillgeom(klon_omp,latitude,longitude,cell_area)
    178178call conf_phys(klon_omp,nlayer,nqtot)
    179179
  • trunk/LMDZ.MARS/libf/phymars/aeropacity.F

    r1502 r1541  
    88     &                      igcm_dust_submicron, rho_dust, rho_ice,
    99     &                      nqdust
    10       use comgeomfi_h, only: lati, sinlat ! grid point latitudes (rad)
     10      use comgeomphy, only: latitude ! grid point latitudes (rad)
     11      use comgeomfi_h, only: sinlat ! sines of grid point latitudes
    1112#ifdef DUSTSTORM
    12       use comgeomfi_h, only: long
     13      use comgeomphy, only: longitude
    1314      use tracer_mod, only: r3n_q, ref_r0, igcm_dust_number
    1415#endif
     
    240241c           endif
    241242        do ig=1,ngrid
    242           if (lati(ig).ge.0) then
     243          if (latitude(ig).ge.0) then
    243244          ! Northern hemisphere
    244245            tauref(ig)= tauN +
    245      &      (taueq-tauN)*0.5*(1+tanh((45-lati(ig)*180./pi)*6/60))
     246     &      (taueq-tauN)*0.5*(1+tanh((45-latitude(ig)*180./pi)*6/60))
    246247          else
    247248          ! Southern hemisphere
    248249            tauref(ig)= tauS +
    249      &      (taueq-tauS)*0.5*(1+tanh((45+lati(ig)*180./pi)*6/60))
     250     &      (taueq-tauS)*0.5*(1+tanh((45+latitude(ig)*180./pi)*6/60))
    250251          endif
    251252        enddo ! of do ig=1,ngrid
     
    305306          do ig=1,ngrid
    306307            topdust(ig)=60.+18.*zlsconst
    307      &                -(32+18*zlsconst)*sin(lati(ig))**4
    308      &                 - 8*zlsconst*(sin(lati(ig)))**5
     308     &                -(32+18*zlsconst)*sin(latitude(ig))**4
     309     &                 - 8*zlsconst*(sin(latitude(ig)))**5
    309310          end do
    310311        endif
     
    520521
    521522      !! distance to the center:
    522       ray(ig)=SQRT((lati(ig)*180./pi-latloc)**2 +
    523      &          (long(ig)*180./pi -lonloc)**2)
     523      ray(ig)=SQRT((latitude(ig)*180./pi-latloc)**2 +
     524     &          (longitude(ig)*180./pi -lonloc)**2)
    524525
    525526      !! transition factor for storm
  • trunk/LMDZ.MARS/libf/phymars/albedocaps.F90

    r1528 r1541  
    66! to use the 'getin' routine
    77use ioipsl_getincom, only: getin
    8 use comgeomfi_h, only: lati ! grid point latitudes (rad)
     8use comgeomphy, only: latitude ! grid point latitudes (rad)
    99use surfdat_h, only: TESicealbedo, TESice_Ncoef, TESice_Scoef, &
    1010                     emisice, albedice, watercaptag, albedo_h2o_ice, &
     
    5151
    5252do ig=1,ngrid
    53   if (lati(ig).lt.0.) then
     53  if (latitude(ig).lt.0.) then
    5454    icap=2 ! Southern hemisphere
    5555  else
     
    8787subroutine TES_icecap_albedo(zls,ig,alb,icap)
    8888
    89 use comgeomfi_h, only: lati, long
     89use comgeomphy, only: latitude, longitude ! in radians
    9090use surfdat_h, only: albedice, TESice_Ncoef, TESice_Scoef
    9191use netcdf, only: nf90_open, NF90_NOWRITE, NF90_NOERR, &
     
    281281! Check that latitude is such that there is TES data to use
    282282! (ie: latitude 45 deg and poleward) otherwise use 'default' albedoes
    283 latd=lati(ig)*radeg ! latitude, in degrees
     283latd=latitude(ig)*radeg ! latitude, in degrees
    284284if (icap.eq.1) then
    285285 ! North hemisphere
     
    360360
    361361! 3. Identify encompassing longitudes
    362 lond=long(ig)*radeg ! east longitude, in degrees
     362lond=longitude(ig)*radeg ! east longitude, in degrees
    363363if (lond.lt.TESlon(1)) then
    364364  loninf=TESlonsize
  • trunk/LMDZ.MARS/libf/phymars/co2snow.F

    r1524 r1541  
    33
    44      use surfdat_h, only: iceradius, dtemisice
    5       use comgeomfi_h, only: lati ! grid point latitudes (rad)
     5      use comgeomphy, only: latitude ! grid point latitudes (rad)
    66      use time_phylmdz_mod, only: daysec
    77      IMPLICIT NONE
     
    105105c   dtemis: Time scale for increasing the ice emissivity
    106106
    107            IF(lati(ig).LT. 0.) THEN
     107           IF(latitude(ig).LT. 0.) THEN
    108108              icap=2 ! Southern hemisphere
    109109           ELSE
  • trunk/LMDZ.MARS/libf/phymars/comgeomfi_h.F90

    r1233 r1541  
    55
    66       ! These arrays are allocated in phys_state_var_init
    7        REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: long ! longitudes (rad)
    8        REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: lati ! latitudes (rad)
    9        REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: area ! mesh area (m2)
    10        REAL,SAVE :: totarea
     7!       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: long ! longitudes (rad)
     8!       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: lati ! latitudes (rad)
     9!       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: area ! mesh area (m2)
     10!       REAL,SAVE :: totarea
    1111       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: sinlon
    1212       REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: coslon
     
    2121         integer,intent(in) :: ngrid ! number of atmospheric columns
    2222
    23          allocate(lati(ngrid))
    24          allocate(long(ngrid))
    25          allocate(area(ngrid))
     23!        allocate(lati(ngrid))
     24!         allocate(long(ngrid))
     25!         allocate(area(ngrid))
    2626         allocate(sinlat(ngrid))
    2727         allocate(coslat(ngrid))
     
    4141
    4242         ! fill "comgeomfi_h" data
    43          call SCOPY(ngrid,plon,1,long,1)
    44          call SCOPY(ngrid,plat,1,lati,1)
    45          call SCOPY(ngrid,parea,1,area,1)
    46          totarea=SSUM(ngrid,area,1)
     43!         call SCOPY(ngrid,plon,1,long,1)
     44!         call SCOPY(ngrid,plat,1,lati,1)
     45!         call SCOPY(ngrid,parea,1,area,1)
     46!         totarea=SSUM(ngrid,area,1)
    4747         DO ig=1,ngrid
    48             sinlat(ig)=sin(lati(ig))
    49             coslat(ig)=cos(lati(ig))
    50             sinlon(ig)=sin(long(ig))
    51             coslon(ig)=cos(long(ig))
     48            sinlat(ig)=sin(plat(ig))
     49            coslat(ig)=cos(plat(ig))
     50            sinlon(ig)=sin(plon(ig))
     51            coslon(ig)=cos(plon(ig))
    5252         ENDDO
    5353
  • trunk/LMDZ.MARS/libf/phymars/comgeomphy.F90

    r1130 r1541  
    11module comgeomphy
    2    real,save,allocatable :: airephy(:)
    3    real,save,allocatable :: cuphy(:)
    4    real,save,allocatable :: cvphy(:)
    5    real,save,allocatable :: rlatd(:)
    6    real,save,allocatable :: rlond(:)
    7 !$OMP THREADPRIVATE(airephy,cuphy,cvphy,rlatd,rlond)
     2   real,save,allocatable :: cell_area(:) ! airephy(:)
     3   real,save,allocatable :: dx(:) !cuphy(:)
     4   real,save,allocatable :: dy(:) !cvphy(:)
     5   real,save,allocatable :: latitude(:) !rlatd(:)
     6   real,save,allocatable :: longitude(:) !rlond(:)
     7!$OMP THREADPRIVATE(cell_area,dx,dy,latitude,longitude)
    88contains
    99 
     
    1313   
    1414 
    15     allocate(airephy(klon_omp))
    16     allocate(cuphy(klon_omp))
    17     allocate(cvphy(klon_omp))
    18     allocate(rlatd(klon_omp))
    19     allocate(rlond(klon_omp))
     15    allocate(cell_area(klon_omp))
     16    allocate(dx(klon_omp))
     17    allocate(dy(klon_omp))
     18    allocate(latitude(klon_omp))
     19    allocate(longitude(klon_omp))
    2020
    2121  end subroutine initcomgeomphy
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F

    r1535 r1541  
    55      use infotrac, only: nqtot, tname
    66      use comsoil_h, only: volcapa, layer, mlayer, inertiedat, nsoilmx
    7       use comgeomfi_h, only: lati, long, area, sinlat, ini_fillgeom
     7      use comgeomfi_h, only: sinlat, ini_fillgeom
    88      use surfdat_h, only: albedodat, z0_default, emissiv, emisice,
    99     &                     albedice, iceradius, dtemisice, z0,
     
    1212      use slope_mod, only: theta_sl, psi_sl
    1313      use phyredem, only: physdem0,physdem1
    14       use comgeomphy, only: initcomgeomphy, airephy, cuphy, cvphy,
    15      &                      rlond, rlatd
     14      use comgeomphy, only: initcomgeomphy, cell_area
    1615      use planete_h, only: year_day, periheli, aphelie, peri_day,
    1716     &                     obliquit, emin_turb, lmixmin
     
    534533c   -------------------------------------
    535534c   mesh surface (not a very usefull quantity in 1D)
    536       area(1)=1.E+0
    537       airephy(1)=area(1)
     535      cell_area(1)=1.E+0
    538536
    539537c   surface geopotential is not used (or useful) since in 1D
     
    560558         u(ilayer)=gru
    561559         v(ilayer)=grv
     560         w(ilayer)=0 ! default: no vertical wind
    562561      ENDDO
    563562
     
    580579      IF (co2ice(1).eq.1.E+0) THEN
    581580         emis=emisice(1) ! northern hemisphere
    582          IF(lati(1).LT.0) emis=emisice(2) ! southern hemisphere
     581         IF(latitude(1).LT.0) emis=emisice(2) ! southern hemisphere
    583582      ENDIF
    584583
     
    654653         ! thermo=0: initialize over all atmospheric layers
    655654         thermo=0
    656          call inichim_newstart(q,psurf,sig,nq,lati,long,area,
    657      $   thermo,qsurf)
     655         call inichim_newstart(q,psurf,sig,nq,latitude,longitude,
     656     $   cell_area,thermo,qsurf)
    658657      endif
    659658
     
    683682c  It is needed to transfert physics variables to "physiq"...
    684683
    685       call physdem0("startfi.nc",long,lati,nsoilmx,ngrid,llm,nq,
    686      .              dtphys,float(day0),time,area,
    687      .              albedodat,inertiedat,zmea,zstd,zsig,zgam,zthe)
     684      call physdem0("startfi.nc",longitude,latitude,nsoilmx,ngrid,llm,
     685     &              nq,dtphys,float(day0),time,cell_area,
     686     &              albedodat,inertiedat,zmea,zstd,zsig,zgam,zthe)
    688687      call physdem1("startfi.nc",nsoilmx,ngrid,llm,nq,
    689688     .              dtphys,time,
     
    703702         call solarlong(day*1.0,zls)
    704703         write(103,*) 'Ls=',zls*180./pi
    705          write(103,*) 'Lat=', lati(1)*180./pi
     704         write(103,*) 'Lat=', latitude(1)*180./pi
    706705         write(103,*) 'Tau=', tauvis/odpref*psurf
    707706         write(103,*) 'RunEnd - Atmos. Temp. File'
    708707         write(103,*) 'RunEnd - Atmos. Temp. File'
    709708         write(104,*) 'Ls=',zls*180./pi
    710          write(104,*) 'Lat=', lati(1)
     709         write(104,*) 'Lat=', latitude(1)
    711710         write(104,*) 'Tau=', tauvis/odpref*psurf
    712711         write(104,*) 'RunEnd - Atmos. Temp. File'
     
    753752
    754753c       For some tests : No coriolis force at equator
    755 c       if(lati(1).eq.0.) then
     754c       if(latitude(1).eq.0.) then
    756755          DO ilayer=1,nlayer
    757756             du(ilayer)=du(ilayer)+ (gru-u(ilayer))/1.e4
  • trunk/LMDZ.MARS/libf/phymars/eofdump_mod.F90

    r1528 r1541  
    8080      subroutine ineofdump(ngrid,nlayer)
    8181
    82       use comgeomfi_h, only: long, lati
     82      use comgeomphy, only: longitude, latitude
    8383      use comcstfi_h, only: pi
    8484      use time_phylmdz_mod, only: daysec, dtphys
     
    121121          if(j.eq.nbp_lat) stop 'Problem in ineofdump.F'
    122122#ifdef NC_DOUBLE
    123           write(uehead,*) real(long(ig)*180./pi),real(lati(ig)*180./pi)
     123          write(uehead,*) real(longitude(ig)*180./pi),real(latitude(ig)*180./pi)
    124124#else
    125           write(uehead,*) long(ig)*180./pi, lati(ig)*180./pi
     125          write(uehead,*) longitude(ig)*180./pi, latitude(ig)*180./pi
    126126#endif
    127 !         write(*,*) 'eof grid j=',j,' lat= ', lati(ig)*180./pi
     127!         write(*,*) 'eof grid j=',j,' lat= ', latitude(ig)*180./pi
    128128        enddo
    129129      enddo
  • trunk/LMDZ.MARS/libf/phymars/getslopes.F90

    r1528 r1541  
    11subroutine getslopes(ngrid,geopot)
    22   
    3 use comgeomfi_h, only: long, lati
     3use comgeomphy, only: longitude, latitude ! in radians
    44use slope_mod, only: theta_sl, psi_sl
    55use comcstfi_h, only: g, rad, pi
     
    4040   do i=1,nbp_lon
    4141      topogrid(i,j)=geopot(ig0+i)/g
    42       latigrid(i,j)=lati(ig0+i)
    43       longgrid(i,j)=long(ig0+i)
     42      latigrid(i,j)=latitude(ig0+i)
     43      longgrid(i,j)=longitude(ig0+i)
    4444   enddo
    4545enddo
    4646!poles :
    4747topogrid(:,1) = geopot(1)/g
    48 latigrid(:,1) = lati(1)
    49 longgrid(:,1) = long(1)
     48latigrid(:,1) = latitude(1)
     49longgrid(:,1) = longitude(1)
    5050topogrid(:,nbp_lat) = geopot(ngrid)/g
    51 latigrid(:,nbp_lat) = lati(ngrid)
    52 longgrid(:,nbp_lat) = long(ngrid)
     51latigrid(:,nbp_lat) = latitude(ngrid)
     52longgrid(:,nbp_lat) = longitude(ngrid)
    5353
    5454
  • trunk/LMDZ.MARS/libf/phymars/newcondens.F

    r1528 r1541  
    88       use tracer_mod, only: noms
    99       use surfdat_h, only: emissiv, phisfi
    10        use comgeomfi_h, only: lati ! grid point latitudes (rad)
     10       use comgeomphy, only: latitude ! grid point latitudes (rad)
    1111       use planete_h
    1212       USE comcstfi_h
     
    347347c
    348348      DO ig=1,ngrid
    349          IF(lati(ig).lt.0) THEN
     349         IF(latitude(ig).lt.0) THEN
    350350           ! Southern hemisphere
    351351            icap=2
     
    785785         if (caps.and.(obliquit.lt.27.)) then
    786786           ! check if last grid point is the south pole
    787            if (abs(lati(ngrid)-(-pi/2.)).lt.1.e-5) then
     787           if (abs(latitude(ngrid)-(-pi/2.)).lt.1.e-5) then
    788788           ! NB: Updated surface pressure, at grid point 'ngrid', is
    789789           !     ps(ngrid)=pplev(ngrid,1)+pdpsrf(ngrid)*ptimestep
    790 !             write(*,*) "newcondens: South pole: lati(ngrid)=",
    791 !     &                                           lati(ngrid)
     790!             write(*,*) "newcondens: South pole: latitude(ngrid)=",
     791!     &                                           latitude(ngrid)
    792792             ztcondsol(ngrid)=
    793793     &          1./(bcond-acond*log(.01*vmr_co2(ngrid,1)*
  • trunk/LMDZ.MARS/libf/phymars/phyredem.F90

    r1524 r1541  
    1414  use infotrac, only: nqtot, tname
    1515  use comsoil_h, only: inertiedat, volcapa, mlayer
    16   use comgeomfi_h, only: area
     16  use comgeomphy, only: cell_area
    1717  use surfdat_h, only: zmea, zstd, zsig, zgam, zthe, &
    1818                       z0_default, albedice, emisice, emissiv, &
     
    118118 
    119119  ! Write mesh areas
    120   call put_field("area","Mesh area",area)
     120  call put_field("area","Mesh area",cell_area)
    121121 
    122122  ! Write surface geopotential
  • trunk/LMDZ.MARS/libf/phymars/physiq.F

    r1528 r1541  
    1515      use comsoil_h, only: inertiedat, ! soil thermal inertia
    1616     &                     tsoil, nsoilmx ! number of subsurface layers
    17       use comgeomfi_h, only: long, lati, area,
    18      &                      sinlon, coslon, sinlat, coslat
     17      use comgeomphy, only: longitude, latitude, cell_area
     18      use comgeomfi_h, only: sinlon, coslon, sinlat, coslat
    1919      use surfdat_h, only: phisfi, albedodat, zmea, zstd, zsig, zgam,
    2020     &                     zthe, z0, albedo_h2o_ice,
     
    497497
    498498         if (ngrid.ne.1) then ! no need to create a restart file in 1d
    499          call physdem0("restartfi.nc",long,lati,nsoilmx,ngrid,nlayer,nq,
    500      .                 ptimestep,pday,time_phys,area,
    501      .                 albedodat,inertiedat,zmea,zstd,zsig,zgam,zthe)
     499         call physdem0("restartfi.nc",longitude,latitude,
     500     &                 nsoilmx,ngrid,nlayer,nq,
     501     &                 ptimestep,pday,time_phys,cell_area,
     502     &                 albedodat,inertiedat,zmea,zstd,zsig,zgam,zthe)
    502503         endif
    503504#endif
     
    597598      do l=1,nlayer
    598599       pw(1:ngrid,l)=(pw(1:ngrid,l)*r*pt(1:ngrid,l)) /
    599      &               (pplay(1:ngrid,l)*area(1:ngrid))
     600     &               (pplay(1:ngrid,l)*cell_area(1:ngrid))
    600601       ! NB: here we use r and not rnew since this diagnostic comes
    601602       ! from the dynamics
     
    623624
    624625           ELSE
    625                CALL mucorr(ngrid,declin, lati, mu0, fract,10000.,rad)
     626               CALL mucorr(ngrid,declin,latitude,mu0,fract,10000.,rad)
    626627           ENDIF
    627628
     
    709710           write(*,'("Ls =",f11.6," check lat =",f10.6,
    710711     &               " lon =",f11.6)')
    711      &           zls*180./pi,lati(igout)*180/pi,long(igout)*180/pi
     712     &           zls*180./pi,latitude(igout)*180/pi,
     713     &                       longitude(igout)*180/pi
    712714           write(*,'(" tauref(",f4.0," Pa) =",f9.6,
    713715     &             " tau(",f4.0," Pa) =",f9.6)')
     
    724726                ztim1=fluxsurf_sw(ig,1)+fluxsurf_sw(ig,2)
    725727                DO l=1,2
    726                  sl_lct = ptime*24. + 180.*long(ig)/pi/15.
     728                 sl_lct = ptime*24. + 180.*longitude(ig)/pi/15.
    727729                 sl_ra  = pi*(1.0-sl_lct/12.)
    728                  sl_lat = 180.*lati(ig)/pi
     730                 sl_lat = 180.*latitude(ig)/pi
    729731                 sl_tau = tau(ig,1) !il faudrait iaerdust(iaer)
    730732                 sl_alb = albedo(ig,l)
     
    13281330         !!! get the actual co2 seasonal cap from Titus observations
    13291331         CALL geticecover( ngrid, 180.*zls/pi,
    1330      .                  180.*long/pi, 180.*lati/pi, co2ice )
     1332     .                  180.*longitude/pi, 180.*latitude/pi, co2ice )
    13311333         co2ice = co2ice * 10000.
    13321334      ENDIF
     
    14321434c              write(*,*) "frost thickness", qsurf(ig,igcm_h2o_ice)
    14331435c              write(*,*) "physiq.F frost :"
    1434 c     &        ,lati(ig)*180./pi, long(ig)*180./pi
     1436c     &        ,latitude(ig)*180./pi, longitude(ig)*180./pi
    14351437           endif
    14361438         enddo  ! of do ig=1,ngrid
     
    19581960               
    19591961                    call planetwide_sumval(colden(:,iq)/6.022e23
    1960      $                            *mmol(iq)*1.e4*area(:),mass(iq))
     1962     $                            *mmol(iq)*1.e4*cell_area(:),mass(iq))
    19611963
    19621964                    call writediagfi(ngrid,"mass_"//trim(noms(iq)),
  • trunk/LMDZ.MARS/libf/phymars/read_dust_scenario.F90

    r1500 r1541  
    44
    55use netcdf
    6 use comgeomfi_h, only: lati, long
     6use comgeomphy, only: latitude, longitude ! in radians
    77implicit none
    88
     
    179179!                               3 4
    180180
    181    latdeg=lati(ig)*radeg  ! latitude, in degrees
    182    londeg=long(ig)*radeg  ! longitude, in degrees east
     181   latdeg=latitude(ig)*radeg  ! latitude, in degrees
     182   londeg=longitude(ig)*radeg  ! longitude, in degrees east
    183183   colat=90-latdeg        ! colatitude, in degrees
    184184
  • trunk/LMDZ.MARS/libf/phymars/surfini.F

    r1528 r1541  
    44      use netcdf
    55      use tracer_mod, only: nqmx, noms
    6       use comgeomfi_h, only: long, lati
     6      use comgeomphy, only: longitude, latitude ! in radians
    77      use surfdat_h, only: watercaptag, frost_albedo_threshold,
    88     &                     albedo_h2o_ice, inert_h2o_ice, albedodat,
     
    7777                          !! si elles sont consequentes
    7878         enddo
    79          if ( ( lati(ig)*180./pi .gt. 70. ) .and.
     79         if ( ( latitude(ig)*180./pi .gt. 70. ) .and.
    8080     .        ( albedodat(ig) .ge. 0.26   ) )  then
    8181                 write(*,*)"outlier ",ig
     
    151151      ! start by geting latitudes and logitudes on full grid
    152152      ! (in serial mode, this is just a copy)
    153       call gather(lati,lati_glo)
    154       call gather(long,long_glo)
     153      call gather(latitude,lati_glo)
     154      call gather(longitude,long_glo)
    155155
    156156      if (is_master) then
     
    503503       DO ig=1,ngrid
    504504         IF (piceco2(ig) .GT. 0.) THEN
    505              IF(lati(ig).LT. 0.) THEN
     505             IF(latitude(ig).LT. 0.) THEN
    506506                icap=2 ! Southern hemisphere
    507507             ELSE
     
    547547                     psolaralb(ig,2) = albedo_h2o_ice
    548548c                     PRINT*,'surfini.F frost',
    549 c     &                  lati(ig)*180./pi, long(ig)*180./pi
     549c     &                  latitude(ig)*180./pi, longitude(ig)*180./pi
    550550               endif
    551551              enddo
  • trunk/LMDZ.MARS/libf/phymars/writediagfi.F

    r1532 r1541  
    4040!=================================================================
    4141      use surfdat_h, only: phisfi
    42       use comgeomphy, only: airephy
     42      use comgeomphy, only: cell_area
    4343      use time_phylmdz_mod, only: ecritphy, day_step, iphysiq, day_ini
    4444      USE mod_phys_lmdz_para, only : is_parallel, is_mpi_root,
     
    118118!Sortie des variables au rythme voulu
    119119
    120       irythme = int(ecritphy) ! sortie au rythme de ecritphy
    121 !     irythme = iconser  ! sortie au rythme des variables de controle
    122 !     irythme = iphysiq  ! sortie a tous les pas physique
    123 !     irythme = iecri*day_step ! sortie au rythme des fichiers histoires
    124 !     irythme = periodav*day_step ! sortie au rythme des fichiers histmoy
     120      irythme = int(ecritphy) ! output rate set by ecritphy
    125121
    126122!***************************************************************
     
    189185          ! Gather phisfi() geopotential on physics grid
    190186          call Gather(phisfi,phisfi_glo)
    191           ! Gather airephy() mesh area on physics grid
    192           call Gather(airephy,areafi_glo)
     187          ! Gather cell_area() mesh area on physics grid
     188          call Gather(cell_area,areafi_glo)
    193189#else
    194190         phisfi_glo(:)=phisfi(:)
    195          areafi_glo(:)=airephy(:)
     191         areafi_glo(:)=cell_area(:)
    196192#endif
    197193
     
    260256
    261257      endif ! if (firstnom.eq.'1234567890')
    262 
    263       if (klon_glo.eq.1) then
    264         ! in testphys1d, for the 1d version of the GCM, iphysiq and irythme
    265         ! are undefined; so set them to 1
    266         iphysiq=1
    267         irythme=1
    268       endif
    269258
    270259! Increment time index 'zitau' if it is the "fist call" (at given time level)
  • trunk/LMDZ.MARS/libf/phymars/writediagsoil.F90

    r1532 r1541  
    1313
    1414use comsoil_h, only: nsoilmx, inertiedat
    15 use comgeomphy, only: airephy
     15use comgeomphy, only: cell_area
    1616use time_phylmdz_mod, only: ecritphy, day_step, iphysiq
    1717use mod_phys_lmdz_para, only : is_mpi_root, is_master, gather
     
    102102   ! Gather inertiedat() soil thermal inertia on physics grid
    103103   call Gather(inertiedat,inertiafi_glo)
    104    ! Gather airephy() mesh area on physics grid
    105    call Gather(airephy,areafi_glo)
     104   ! Gather cell_area() mesh area on physics grid
     105   call Gather(cell_area,areafi_glo)
    106106#else
    107107         inertiafi_glo(:,:)=inertiedat(:,:)
    108          areafi_glo(:)=airephy(:)
     108         areafi_glo(:)=cell_area(:)
    109109#endif
    110110
Note: See TracChangeset for help on using the changeset viewer.