Ignore:
Timestamp:
Apr 10, 2018, 9:16:11 AM (7 years ago)
Author:
emillour
Message:

Mars GCM:
Code cleanup: get rid of routine "zerophys".
EM

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

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/lwflux.F

    r1266 r1917  
    1515      implicit none
    1616 
    17 #include "callkeys.h"
    18 #include "comg1d.h"
     17      include "callkeys.h"
     18      include "comg1d.h"
    1919
    2020c----------------------------------------------------------------------
     
    2323c                                                            inputs:
    2424c                                                            -------
    25       integer ig0
    26       integer kdlon                 ! part of ngrid
    27       integer kflev                 ! part of nlayer
    28 
    29       real dp (ndlo2,kflev)         ! layer pressure thickness (Pa)
    30 
    31       real bsurf (ndlo2,nir)            ! surface spectral planck function
    32       real blev (ndlo2,nir,kflev+1)      ! level   spectral planck function
    33       real blay (ndlo2,nir,kflev)        ! layer   spectral planck function
    34       real btop (ndlo2,nir)              ! top spectral planck function
    35       real dbsublay (ndlo2,nir,2*kflev)  ! layer gradient spectral planck
    36                                          ! function in sub layers
    37 
    38       real dt0 (ndlo2)                ! surface temperature discontinuity
    39       real tlay (ndlo2,kflev)          ! layer temperature
    40       real tlev (ndlo2,kflev+1)        ! level temperature
    41 
    42       real emis (ndlo2)                  ! surface emissivity
    43 
    44       real tautotal(ndlo2,kflev,nir)  ! \   Total single scattering
    45       real omegtotal(ndlo2,kflev,nir) !  >  properties (Addition of the
    46       real gtotal(ndlo2,kflev,nir)    ! /   NAERKIND aerosols prop.)
     25      integer,intent(in) :: ig0
     26      integer,intent(in) :: kdlon           ! part of ngrid
     27      integer,intent(in) :: kflev           ! part of nlayer
     28
     29      real,intent(in) :: dp (ndlo2,kflev)   ! layer pressure thickness (Pa)
     30
     31      real,intent(in) :: bsurf (ndlo2,nir) ! surface spectral planck function
     32      real,intent(in) :: blev (ndlo2,nir,kflev+1) ! level   spectral planck function
     33      real,intent(in) :: blay (ndlo2,nir,kflev) ! layer   spectral planck function
     34      real,intent(in) :: btop (ndlo2,nir) ! top spectral planck function
     35      real,intent(in) :: dbsublay (ndlo2,nir,2*kflev)  ! layer gradient spectral planck
     36                                                       ! function in sub layers
     37
     38      real,intent(in) :: dt0 (ndlo2) ! surface temperature discontinuity
     39      real,intent(in) :: tlay (ndlo2,kflev) ! layer temperature
     40      real,intent(in) :: tlev (ndlo2,kflev+1) ! level temperature
     41
     42      real,intent(in) :: emis (ndlo2) ! surface emissivity
     43
     44      real,intent(in) :: tautotal(ndlo2,kflev,nir)  ! \   Total single scattering
     45      real,intent(in) :: omegtotal(ndlo2,kflev,nir) !  >  properties (Addition of the
     46      real,intent(in) :: gtotal(ndlo2,kflev,nir)    ! /   NAERKIND aerosols prop.)
    4747
    4848
    4949c                                                            outputs:
    5050c                                                            --------
    51       real coolrate(ndlo2,kflev)    ! radiative cooling rate (K/s)
    52       real netrad (ndlo2,kflev)    ! radiative budget (W/m2)
    53       real fluxground(ndlo2)        ! downward flux on the ground
    54                                     ! for surface radiative budget
    55       real fluxtop(ndlo2)          ! upward flux on the top of atm ("OLR")
     51      real,intent(out) :: coolrate(ndlo2,kflev) ! radiative cooling rate (K/s)
     52      real,intent(out) :: netrad (ndlo2,kflev) ! radiative budget (W/m2)
     53      real,intent(out) :: fluxground(ndlo2) ! downward flux on the ground
     54                                            ! for surface radiative budget
     55      real,intent(out) :: fluxtop(ndlo2) ! upward flux on the top of atm ("OLR")
    5656
    5757
     
    6060c               ------------
    6161
    62       integer ja,jl,j,i,ig1d,ig,l,ndim
    63 !      parameter(ndim = ndlon*(nuco2+1)*(nflev+2)*(nflev+2))
     62      integer ja,jl,j,i,ig1d,ig,l
    6463      real  ksidb (ndlon,nuco2+1,0:nflev+1,0:nflev+1) ! net exchange rate (W/m2)
    6564
     
    7877
    7978
    80       ndim = ndlon*(nuco2+1)*(nflev+2)*(nflev+2)
    81       call zerophys(ndim, ksidb)
     79      ksidb(:,:,:,:)=0
    8280
    8381c----------------------------------------------------------------------
     
    358356c ig0+1:  point du decoupage de la grille physique
    359357
    360 c#ifdef undim
    361358      if (callg2d) then
    362359
     
    504501      endif
    505502c************************************************************************
    506 c#endif
    507503      endif  !   callg2d
    508504
    509       return
    510505      end
  • trunk/LMDZ.MARS/libf/phymars/lwu.F

    r1266 r1917  
    3434      use dimradmars_mod, only: naerkind
    3535      use yomlw_h, only: nlaylte, tref, at, bt, cst_voigt
    36       USE comcstfi_h
     36      use comcstfi_h, only: g
    3737      implicit none
    3838
    39 #include "callkeys.h"
     39      include "callkeys.h"
    4040
    4141c----------------------------------------------------------------------
     
    4444c                                                            inputs:
    4545c                                                            -------
    46       integer kdlon        ! part of ngrid
    47       integer kflev        ! part of nalyer
    48 
    49       real dp (ndlo2,kflev)        ! layer pressure thickness (Pa)
    50       real plev (ndlo2,kflev+1)    ! level pressure (Pa)
    51       real tlay (ndlo2,kflev)      ! layer temperature (K)
    52       real aerosol (ndlo2,kflev,naerkind) ! aerosol extinction optical depth
     46      integer,intent(in) :: kdlon ! part of ngrid
     47      integer,intent(in) :: kflev ! part of nalyer
     48
     49      real,intent(in) :: dp(ndlo2,kflev) ! layer pressure thickness (Pa)
     50      real,intent(in) :: plev(ndlo2,kflev+1) ! level pressure (Pa)
     51      real,intent(in) :: tlay(ndlo2,kflev) ! layer temperature (K)
     52      real,intent(in) :: aerosol(ndlo2,kflev,naerkind) ! aerosol extinction optical depth
    5353c                         at reference wavelength "longrefvis" set
    5454c                         in dimradmars_mod , in each layer, for one of
    5555c                         the "naerkind" kind of aerosol optical properties.
    56       REAL QIRsQREF3d(ndlo2,kflev,nir,naerkind) ! 3d ext. coef.
    57       REAL omegaIR3d(ndlo2,kflev,nir,naerkind)  ! 3d ssa
    58       REAL gIR3d(ndlo2,kflev,nir,naerkind)      ! 3d assym. param.
     56      real,intent(in) :: QIRsQREF3d(ndlo2,kflev,nir,naerkind) ! 3d ext. coef.
     57      real,intent(in) :: omegaIR3d(ndlo2,kflev,nir,naerkind) ! 3d ssa
     58      real,intent(in) :: gIR3d(ndlo2,kflev,nir,naerkind) ! 3d assym. param.
    5959
    6060c                                                            outputs:
    6161c                                                            --------
    62       real aer_t (ndlo2,nuco2,kflev+1)   ! transmission (aer)
    63       real co2_u (ndlo2,nuco2,kflev+1)   ! absorber amounts (co2)
    64       real co2_up (ndlo2,nuco2,kflev+1)  ! idem scaled by the pressure (co2)
    65 
    66       real tautotal(ndlo2,kflev,nir)  ! \   Total single scattering
    67       real omegtotal(ndlo2,kflev,nir) !  >  properties (Addition of the
    68       real gtotal(ndlo2,kflev,nir)    ! /   NAERKIND aerosols properties)
     62      real,intent(out) :: aer_t(ndlo2,nuco2,kflev+1)   ! transmission (aer)
     63      real,intent(out) :: co2_u(ndlo2,nuco2,kflev+1)   ! absorber amounts (co2)
     64      real,intent(out) :: co2_up(ndlo2,nuco2,kflev+1)  ! idem scaled by the pressure (co2)
     65
     66      real,intent(out) :: tautotal(ndlo2,kflev,nir)  ! \   Total single scattering
     67      real,intent(out) :: omegtotal(ndlo2,kflev,nir) !  >  properties (Addition of the
     68      real,intent(out) :: gtotal(ndlo2,kflev,nir)    ! /   NAERKIND aerosols properties)
    6969
    7070c----------------------------------------------------------------------
     
    105105c  all the NAERKIND kind of aerosols in each IR band
    106106
    107       call zerophys(ndlon*kflev*nir,tautotal)
    108       call zerophys(ndlon*kflev*nir,omegtotal)
    109       call zerophys(ndlon*kflev*nir,gtotal)
     107      tautotal(:,:,:)=0
     108      omegtotal(:,:,:)=0
     109      gtotal(:,:,:)=0
    110110
    111111      do n=1,naerkind
     
    210210     
    211211c----------------------------------------------------------------------
    212       return
    213212      end
  • trunk/LMDZ.MARS/libf/phymars/lwxd.F

    r1266 r1917  
    3636      implicit none
    3737
    38 #include "callkeys.h"
     38      include "callkeys.h"
    3939
    4040c----------------------------------------------------------------------
     
    4343c                                                            inputs:
    4444c                                                            -------
    45       integer ig0
    46       integer kdlon      ! part of ngrid
    47       integer kflev      ! part of nalyer
     45      integer,intent(in) :: ig0
     46      integer,intent(in) :: kdlon      ! part of ngrid
     47      integer,intent(in) :: kflev      ! part of nalyer
    4848 
    49       real emis (ndlo2)                  ! surface emissivity
    50       real aer_t (ndlo2,nuco2,kflev+1)  ! transmission (aer)
    51       real co2_u (ndlo2,nuco2,kflev+1)  ! absorber amounts (co2)
    52       real co2_up (ndlo2,nuco2,kflev+1) ! idem scaled by the pressure (co2)
     49      real,intent(in) :: emis (ndlo2) ! surface emissivity
     50      real,intent(in) :: aer_t (ndlo2,nuco2,kflev+1) ! transmission (aer)
     51      real,intent(in) :: co2_u (ndlo2,nuco2,kflev+1) ! absorber amounts (co2)
     52      real,intent(in) :: co2_up (ndlo2,nuco2,kflev+1) ! idem scaled by the pressure (co2)
    5353
    5454c----------------------------------------------------------------------
     
    5656c               ------------
    5757
    58       integer ja,jl,jk,jkk,ndim
    59 !      parameter(ndim = ndlon*nuco2*(nflev+2)*(nflev+2))
    60 
    61 
     58      integer ja,jl,jk,jkk
    6259      real zu (ndlon,nuco2)
    6360      real zup (ndlon,nuco2)
     
    7168
    7269c----------------------------------------------------------------------
    73       ndim = ndlon*nuco2*(nflev+2)*(nflev+2)
    74       call zerophys(ndim,ksi_emis)
     70      ksi_emis(:,:,:,:)=0
    7571c----------------------------------------------------------------------
    7672c         1.0   Transmission functions
     
    252248
    253249c----------------------------------------------------------------------
    254       return
    255250      end
Note: See TracChangeset for help on using the changeset viewer.