Ignore:
Timestamp:
Aug 5, 2009, 4:38:34 PM (15 years ago)
Author:
lguez
Message:

-- Replaced "integer*4" declarations by "integer", "real*8" by

"real(kind=8)" and "real*4" by "real". Note that these are the only
modifications in the files "radiation_AR4.F" and "sw_aeroAR4.F90".

-- Corrected the kind of arguments to "max" and "min".

-- Replaced "nH" edit descriptors, which is a deleted feature in

Fortran 95, by character strings.

-- "regr_lat_time_climoz" now allows the pressure coordinate in the

input file to be in descending order.

-- Replaced call to not standard function "float" by call to intrinsic

function "real".

-- Included file "radepsi.h" in "physiq" was not used. Removed it.

The following set of modifications is related to the management of time.

-- In "gcm", "leapfrog" and "sortvarc0", "day_ini" was defined as 1

plus number of days between the reference date "(annee_ref,
day_ref)" and the first day of the current simulation. Changed
definition: "(annee_ref, day_ini)" is the first day of the current
simulation. There is an accompanying modification for "day_end".

-- Corrected bug in call to "ioconf_startdate" in "gcm".

-- Added call to "ioconf_calendar" in "create_etat0_limit".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/sw_aeroAR4.F90

    r1215 r1220  
    5656  !* ARGUMENTS:
    5757  !
    58   REAL*8 PSCT  ! constante solaire (valeur conseillee: 1370)
    59 
    60   REAL*8 PPSOL(KDLON)        ! SURFACE PRESSURE (PA)
    61   REAL*8 PDP(KDLON,KFLEV)    ! LAYER THICKNESS (PA)
    62   REAL*8 PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)
    63 
    64   REAL*8 PRMU0(KDLON)  ! COSINE OF ZENITHAL ANGLE
    65   REAL*8 PFRAC(KDLON)  ! fraction de la journee
    66 
    67   REAL*8 PTAVE(KDLON,KFLEV)  ! LAYER TEMPERATURE (K)
    68   REAL*8 PWV(KDLON,KFLEV)    ! SPECIFI! HUMIDITY (KG/KG)
    69   REAL*8 PQS(KDLON,KFLEV)    ! SATURATED WATER VAPOUR (KG/KG)
    70   REAL*8 POZON(KDLON,KFLEV)  ! OZONE CONCENTRATION (KG/KG)
    71   REAL*8 PAER(KDLON,KFLEV,5) ! AEROSOLS' OPTICAL THICKNESS
    72 
    73   REAL*8 PALBD(KDLON,2)  ! albedo du sol (lumiere diffuse)
    74   REAL*8 PALBP(KDLON,2)  ! albedo du sol (lumiere parallele)
    75 
    76   REAL*8 PCLDSW(KDLON,KFLEV)    ! CLOUD FRACTION
    77   REAL*8 PTAU(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS
    78   REAL*8 PCG(KDLON,2,KFLEV)     ! ASYMETRY FACTOR
    79   REAL*8 POMEGA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
    80 
    81   REAL*8 PHEAT(KDLON,KFLEV) ! SHORTWAVE HEATING (K/DAY)
    82   REAL*8 PHEAT0(KDLON,KFLEV)! SHORTWAVE HEATING (K/DAY) clear-sky
    83   REAL*8 PALBPLA(KDLON)     ! PLANETARY ALBEDO
    84   REAL*8 PTOPSW(KDLON)      ! SHORTWAVE FLUX AT T.O.A.
    85   REAL*8 PSOLSW(KDLON)      ! SHORTWAVE FLUX AT SURFACE
    86   REAL*8 PTOPSW0(KDLON)     ! SHORTWAVE FLUX AT T.O.A. (CLEAR-SKY)
    87   REAL*8 PSOLSW0(KDLON)     ! SHORTWAVE FLUX AT SURFACE (CLEAR-SKY)
     58  REAL(KIND=8) PSCT  ! constante solaire (valeur conseillee: 1370)
     59
     60  REAL(KIND=8) PPSOL(KDLON)        ! SURFACE PRESSURE (PA)
     61  REAL(KIND=8) PDP(KDLON,KFLEV)    ! LAYER THICKNESS (PA)
     62  REAL(KIND=8) PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)
     63
     64  REAL(KIND=8) PRMU0(KDLON)  ! COSINE OF ZENITHAL ANGLE
     65  REAL(KIND=8) PFRAC(KDLON)  ! fraction de la journee
     66
     67  REAL(KIND=8) PTAVE(KDLON,KFLEV)  ! LAYER TEMPERATURE (K)
     68  REAL(KIND=8) PWV(KDLON,KFLEV)    ! SPECIFI! HUMIDITY (KG/KG)
     69  REAL(KIND=8) PQS(KDLON,KFLEV)    ! SATURATED WATER VAPOUR (KG/KG)
     70  REAL(KIND=8) POZON(KDLON,KFLEV)  ! OZONE CONCENTRATION (KG/KG)
     71  REAL(KIND=8) PAER(KDLON,KFLEV,5) ! AEROSOLS' OPTICAL THICKNESS
     72
     73  REAL(KIND=8) PALBD(KDLON,2)  ! albedo du sol (lumiere diffuse)
     74  REAL(KIND=8) PALBP(KDLON,2)  ! albedo du sol (lumiere parallele)
     75
     76  REAL(KIND=8) PCLDSW(KDLON,KFLEV)    ! CLOUD FRACTION
     77  REAL(KIND=8) PTAU(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS
     78  REAL(KIND=8) PCG(KDLON,2,KFLEV)     ! ASYMETRY FACTOR
     79  REAL(KIND=8) POMEGA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
     80
     81  REAL(KIND=8) PHEAT(KDLON,KFLEV) ! SHORTWAVE HEATING (K/DAY)
     82  REAL(KIND=8) PHEAT0(KDLON,KFLEV)! SHORTWAVE HEATING (K/DAY) clear-sky
     83  REAL(KIND=8) PALBPLA(KDLON)     ! PLANETARY ALBEDO
     84  REAL(KIND=8) PTOPSW(KDLON)      ! SHORTWAVE FLUX AT T.O.A.
     85  REAL(KIND=8) PSOLSW(KDLON)      ! SHORTWAVE FLUX AT SURFACE
     86  REAL(KIND=8) PTOPSW0(KDLON)     ! SHORTWAVE FLUX AT T.O.A. (CLEAR-SKY)
     87  REAL(KIND=8) PSOLSW0(KDLON)     ! SHORTWAVE FLUX AT SURFACE (CLEAR-SKY)
    8888  !
    8989  !* LOCAL VARIABLES:
     
    9191  real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2
    9292
    93   REAL(kind=8) ZOZ(KDLON,KFLEV)
     93  REAL(KIND=8) ZOZ(KDLON,KFLEV)
    9494  ! column-density of ozone in layer, in kilo-Dobsons
    9595
    96   REAL*8 ZAKI(KDLON,2)     
    97   REAL*8 ZCLD(KDLON,KFLEV)
    98   REAL*8 ZCLEAR(KDLON)
    99   REAL*8 ZDSIG(KDLON,KFLEV)
    100   REAL*8 ZFACT(KDLON)
    101   REAL*8 ZFD(KDLON,KFLEV+1)
    102   REAL*8 ZFDOWN(KDLON,KFLEV+1)
    103   REAL*8 ZFU(KDLON,KFLEV+1)
    104   REAL*8 ZFUP(KDLON,KFLEV+1)
    105   REAL*8 ZRMU(KDLON)
    106   REAL*8 ZSEC(KDLON)
    107   REAL*8 ZUD(KDLON,5,KFLEV+1)
    108   REAL*8 ZCLDSW0(KDLON,KFLEV)
    109 
    110   REAL*8 ZFSUP(KDLON,KFLEV+1)
    111   REAL*8 ZFSDN(KDLON,KFLEV+1)
    112   REAL*8 ZFSUP0(KDLON,KFLEV+1)
    113   REAL*8 ZFSDN0(KDLON,KFLEV+1)
     96  REAL(KIND=8) ZAKI(KDLON,2)     
     97  REAL(KIND=8) ZCLD(KDLON,KFLEV)
     98  REAL(KIND=8) ZCLEAR(KDLON)
     99  REAL(KIND=8) ZDSIG(KDLON,KFLEV)
     100  REAL(KIND=8) ZFACT(KDLON)
     101  REAL(KIND=8) ZFD(KDLON,KFLEV+1)
     102  REAL(KIND=8) ZFDOWN(KDLON,KFLEV+1)
     103  REAL(KIND=8) ZFU(KDLON,KFLEV+1)
     104  REAL(KIND=8) ZFUP(KDLON,KFLEV+1)
     105  REAL(KIND=8) ZRMU(KDLON)
     106  REAL(KIND=8) ZSEC(KDLON)
     107  REAL(KIND=8) ZUD(KDLON,5,KFLEV+1)
     108  REAL(KIND=8) ZCLDSW0(KDLON,KFLEV)
     109
     110  REAL(KIND=8) ZFSUP(KDLON,KFLEV+1)
     111  REAL(KIND=8) ZFSDN(KDLON,KFLEV+1)
     112  REAL(KIND=8) ZFSUP0(KDLON,KFLEV+1)
     113  REAL(KIND=8) ZFSDN0(KDLON,KFLEV+1)
    114114
    115115  INTEGER inu, jl, jk, i, k, kpl1
     
    126126
    127127  !jq-Introduced for aerosol forcings
    128   REAL*8, SAVE :: flag_aer
     128  REAL(KIND=8), SAVE :: flag_aer
    129129  !$OMP THREADPRIVATE(flag_aer)
    130130
    131131  LOGICAL ok_ade, ok_aie    ! use aerosol forcings or not?
    132   REAL*8 tauaero(kdlon,kflev,9,2)  ! aerosol optical properties
    133   REAL*8 pizaero(kdlon,kflev,9,2)  ! (see aeropt.F)
    134   REAL*8 cgaero(kdlon,kflev,9,2)   ! -"-
    135   REAL*8 PTAUA(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS (pre-industrial value)
    136   REAL*8 POMEGAA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
    137   REAL*8 PTOPSWADAERO(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)
    138   REAL*8 PSOLSWADAERO(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)
    139   REAL*8 PTOPSWAD0AERO(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)
    140   REAL*8 PSOLSWAD0AERO(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)
    141   REAL*8 PTOPSWAIAERO(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL IND)
    142   REAL*8 PSOLSWAIAERO(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND)
    143   REAL*8 PTOPSWAERO(KDLON,9)
    144   REAL*8 PTOPSW0AERO(KDLON,9)
    145   REAL*8 PSOLSWAERO(KDLON,9)
    146   REAL*8 PSOLSW0AERO(KDLON,9)
     132  REAL(KIND=8) tauaero(kdlon,kflev,9,2)  ! aerosol optical properties
     133  REAL(KIND=8) pizaero(kdlon,kflev,9,2)  ! (see aeropt.F)
     134  REAL(KIND=8) cgaero(kdlon,kflev,9,2)   ! -"-
     135  REAL(KIND=8) PTAUA(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS (pre-industrial value)
     136  REAL(KIND=8) POMEGAA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
     137  REAL(KIND=8) PTOPSWADAERO(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)
     138  REAL(KIND=8) PSOLSWADAERO(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)
     139  REAL(KIND=8) PTOPSWAD0AERO(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)
     140  REAL(KIND=8) PSOLSWAD0AERO(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)
     141  REAL(KIND=8) PTOPSWAIAERO(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL IND)
     142  REAL(KIND=8) PSOLSWAIAERO(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND)
     143  REAL(KIND=8) PTOPSWAERO(KDLON,9)
     144  REAL(KIND=8) PTOPSW0AERO(KDLON,9)
     145  REAL(KIND=8) PSOLSWAERO(KDLON,9)
     146  REAL(KIND=8) PSOLSW0AERO(KDLON,9)
    147147
    148148  !jq - Fluxes including aerosol effects
    149   REAL*8,ALLOCATABLE,SAVE :: ZFSUPAD_AERO(:,:)
     149  REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUPAD_AERO(:,:)
    150150  !$OMP THREADPRIVATE(ZFSUPAD_AERO)
    151   REAL*8,ALLOCATABLE,SAVE :: ZFSDNAD_AERO(:,:)
     151  REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDNAD_AERO(:,:)
    152152  !$OMP THREADPRIVATE(ZFSDNAD_AERO)
    153153  !jq - Fluxes including aerosol effects
    154   REAL*8,ALLOCATABLE,SAVE :: ZFSUPAD0_AERO(:,:)
     154  REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUPAD0_AERO(:,:)
    155155  !$OMP THREADPRIVATE(ZFSUPAD0_AERO)
    156   REAL*8,ALLOCATABLE,SAVE :: ZFSDNAD0_AERO(:,:)
     156  REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDNAD0_AERO(:,:)
    157157  !$OMP THREADPRIVATE(ZFSDNAD0_AERO)
    158   REAL*8,ALLOCATABLE,SAVE :: ZFSUPAI_AERO(:,:)
     158  REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSUPAI_AERO(:,:)
    159159  !$OMP THREADPRIVATE(ZFSUPAI_AERO)
    160   REAL*8,ALLOCATABLE,SAVE :: ZFSDNAI_AERO(:,:)
     160  REAL(KIND=8),ALLOCATABLE,SAVE :: ZFSDNAI_AERO(:,:)
    161161  !$OMP THREADPRIVATE(ZFSDNAI_AERO)
    162   REAL*8,ALLOCATABLE,SAVE ::  ZFSUP_AERO(:,:,:)
     162  REAL(KIND=8),ALLOCATABLE,SAVE ::  ZFSUP_AERO(:,:,:)
    163163  !$OMP THREADPRIVATE(ZFSUP_AERO)
    164   REAL*8,ALLOCATABLE,SAVE ::  ZFSDN_AERO(:,:,:)
     164  REAL(KIND=8),ALLOCATABLE,SAVE ::  ZFSDN_AERO(:,:,:)
    165165  !$OMP THREADPRIVATE(ZFSDN_AERO)
    166   REAL*8,ALLOCATABLE,SAVE ::  ZFSUP0_AERO(:,:,:)
     166  REAL(KIND=8),ALLOCATABLE,SAVE ::  ZFSUP0_AERO(:,:,:)
    167167  !$OMP THREADPRIVATE(ZFSUP0_AERO)
    168   REAL*8,ALLOCATABLE,SAVE ::  ZFSDN0_AERO(:,:,:)
     168  REAL(KIND=8),ALLOCATABLE,SAVE ::  ZFSDN0_AERO(:,:,:)
    169169  !$OMP THREADPRIVATE(ZFSDN0_AERO)
    170170
Note: See TracChangeset for help on using the changeset viewer.