RECMWF_AERO Subroutine

subroutine RECMWF_AERO(KST, KEND, KPROMA, KTDIA, KLEV, KMODE, PALBD, PALBP, PAPRS, PAPRSF, PCCO2, PCLFR, PQO3, PAER, PDP, PEMIS, PMU0, PQ, PQS, PQIWP, PQLWP, PSLM, PT, PTS, PREF_LIQ, PREF_ICE, PREF_LIQ_PI, PREF_ICE_PI, PEMTD, PEMTU, PTRSO, PTH, PCTRSO, PCEMTR, PTRSOD, PLWFC, PLWFT, PSWFC, PSWFT, PSFSWDIR, PSFSWDIF, PFSDNN, PFSDNV, PPIZA_TOT, PCGA_TOT, PTAU_TOT, PPIZA_NAT, PCGA_NAT, PTAU_NAT, PTAU_LW_TOT, PTAU_LW_NAT, PFLUX, PFLUC, PTOAB, PTOACB, PFSDN, PFSUP, PFSCDN, PFSCUP, PFSCCDN, PFSCCUP, PFLCCDN, PFLCCUP, PTOPSWADAERO, PSOLSWADAERO, PTOPSWAD0AERO, PSOLSWAD0AERO, PTOPSWAIAERO, PSOLSWAIAERO, PTOPSWCFAERO, PSOLSWCFAERO, PSWADAERO, PTOPLWADAERO, PSOLLWADAERO, PTOPLWAD0AERO, PSOLLWAD0AERO, PTOPLWAIAERO, PSOLLWAIAERO, PLWADAERO, volmip_solsw, flag_volc_surfstrat, ok_ade, ok_aie, ok_volcan, flag_aerosol, flag_aerosol_strat, flag_aer_feedback)

Uses

  • proc~~recmwf_aero~~UsesGraph proc~recmwf_aero RECMWF_AERO module~yomhook yomhook proc~recmwf_aero->module~yomhook module~yomgem YOMGEM proc~recmwf_aero->module~yomgem module~yoerdu YOERDU proc~recmwf_aero->module~yoerdu module~yoerdi YOERDI proc~recmwf_aero->module~yoerdi module~yomphy3 YOMPHY3 proc~recmwf_aero->module~yomphy3 module~parkind1~2 PARKIND1 proc~recmwf_aero->module~parkind1~2 module~yoeaerd YOEAERD proc~recmwf_aero->module~yoeaerd module~yomcst~3 YOMCST proc~recmwf_aero->module~yomcst~3 module~yomarphy YOMARPHY proc~recmwf_aero->module~yomarphy module~clesphys_mod_h~2 clesphys_mod_h proc~recmwf_aero->module~clesphys_mod_h~2 module~phys_output_mod phys_output_mod proc~recmwf_aero->module~phys_output_mod module~yoerad yoerad proc~recmwf_aero->module~yoerad module~yomgem->module~parkind1~2 module~yoerdu->module~parkind1~2 module~yoerdi->module~parkind1~2 module~yomphy3->module~parkind1~2 module~yoeaerd->module~parkind1~2 module~yomcst~3->module~parkind1~2 module~indice_sol_mod indice_sol_mod module~phys_output_mod->module~indice_sol_mod module~phys_output_var_mod~2 phys_output_var_mod module~phys_output_mod->module~phys_output_var_mod~2 module~phys_output_write_mod phys_output_write_mod module~phys_output_mod->module~phys_output_write_mod module~strings_mod strings_mod module~phys_output_var_mod~2->module~strings_mod module~dimphy~3 dimphy module~phys_output_var_mod~2->module~dimphy~3 module~phytrac_mod phytrac_mod module~phys_output_write_mod->module~phytrac_mod iso_fortran_env iso_fortran_env module~strings_mod->iso_fortran_env

*** RECMWF - METEO-FRANCE RADIATION INTERFACE TO ECMWF RADIATION SCHEME

  • INTERFACE. ----------

    0.1 ARGUMENTS. ----------

INCLUDE "clesphys.h"

   1.    PREPARATORY WORK
          ----------------

--OB 1.0 INITIALIZATIONS --------------

   1.1    LOCAL CONSTANTS
            ---------------

   2.1    FULL-LEVEL QUANTITIES

   2.2    HALF-LEVEL QUANTITIES

   2.3     QUANTITIES AT BOUNDARIES

   3.1     SOLAR ZENITH ANGLE IS EARTH'S CURVATURE
            CORRECTED

!!! A REVOIR MPL 20091201: enleve cette correction pour comparer a AR4 4.1 CALL TO ACTUAL RADIATION SCHEME

----now we make multiple calls to the radiation according to which ----aerosol flags are on

SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 SAVE VARIABLES IN INTERIM VARIABLES A LA SW_AEROAR4 4.2 TRANSFORM FLUXES TO MODEL HISTORICAL VARIABLES

     5.1    STORAGE OF TRANSMISSIVITY AND EMISSIVITIES
            IN KPROMA-LONG ARRAYS

     7.3   RECONSTRUCT FLUXES FOR DIAGNOSTICS

8.0 DIAGNOSTICS ---Now we copy back the correct fields to proceed to the next timestep

Arguments

Type IntentOptional Attributes Name
integer(kind=JPIM), intent(in) :: KST
integer(kind=JPIM), intent(in) :: KEND
integer(kind=JPIM), intent(in) :: KPROMA
integer(kind=JPIM) :: KTDIA
integer(kind=JPIM), intent(in) :: KLEV
integer(kind=JPIM), intent(in) :: KMODE
real(kind=JPRB), intent(in) :: PALBD(KPROMA,NSW)
real(kind=JPRB), intent(in) :: PALBP(KPROMA,NSW)
real(kind=JPRB), intent(in) :: PAPRS(KPROMA,KLEV+1)
real(kind=JPRB), intent(in) :: PAPRSF(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PCCO2
real(kind=JPRB), intent(in) :: PCLFR(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PQO3(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PAER(KPROMA,KLEV,6)
real(kind=JPRB), intent(in) :: PDP(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PEMIS(KPROMA)
real(kind=JPRB), intent(in) :: PMU0(KPROMA)
real(kind=JPRB), intent(in) :: PQ(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PQS(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PQIWP(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PQLWP(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PSLM(KPROMA)
real(kind=JPRB), intent(in) :: PT(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PTS(KPROMA)
real(kind=JPRB), intent(in) :: PREF_LIQ(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PREF_ICE(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PREF_LIQ_PI(KPROMA,KLEV)
real(kind=JPRB), intent(in) :: PREF_ICE_PI(KPROMA,KLEV)
real(kind=JPRB), intent(out) :: PEMTD(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PEMTU(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PTRSO(KPROMA,KLEV+1)
real(kind=JPRB), intent(inout) :: PTH(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PCTRSO(KPROMA,2)
real(kind=JPRB), intent(out) :: PCEMTR(KPROMA,2)
real(kind=JPRB), intent(out) :: PTRSOD(KPROMA)
real(kind=JPRB), intent(out) :: PLWFC(KPROMA,2)
real(kind=JPRB), intent(out) :: PLWFT(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PSWFC(KPROMA,2)
real(kind=JPRB), intent(out) :: PSWFT(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PSFSWDIR(KPROMA,NSW)
real(kind=JPRB), intent(out) :: PSFSWDIF(KPROMA,NSW)
real(kind=JPRB), intent(out) :: PFSDNN(KPROMA)
real(kind=JPRB), intent(out) :: PFSDNV(KPROMA)
real(kind=JPRB), intent(in) :: PPIZA_TOT(KPROMA,KLEV,NSW)
real(kind=JPRB), intent(in) :: PCGA_TOT(KPROMA,KLEV,NSW)
real(kind=JPRB), intent(in) :: PTAU_TOT(KPROMA,KLEV,NSW)
real(kind=JPRB), intent(in) :: PPIZA_NAT(KPROMA,KLEV,NSW)
real(kind=JPRB), intent(in) :: PCGA_NAT(KPROMA,KLEV,NSW)
real(kind=JPRB), intent(in) :: PTAU_NAT(KPROMA,KLEV,NSW)
real(kind=JPRB), intent(in) :: PTAU_LW_TOT(KPROMA,KLEV,NLW)
real(kind=JPRB), intent(in) :: PTAU_LW_NAT(KPROMA,KLEV,NLW)
real(kind=JPRB), intent(out) :: PFLUX(KPROMA,2,KLEV+1)
real(kind=JPRB), intent(out) :: PFLUC(KPROMA,2,KLEV+1)
real(kind=JPRB), intent(out) :: PTOAB(KPROMA,NLW)
real(kind=JPRB), intent(out) :: PTOACB(KPROMA,NLW)
real(kind=JPRB), intent(out) :: PFSDN(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PFSUP(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PFSCDN(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PFSCUP(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PFSCCDN(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PFSCCUP(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PFLCCDN(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PFLCCUP(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PTOPSWADAERO(KPROMA)
real(kind=JPRB), intent(out) :: PSOLSWADAERO(KPROMA)
real(kind=JPRB), intent(out) :: PTOPSWAD0AERO(KPROMA)
real(kind=JPRB), intent(out) :: PSOLSWAD0AERO(KPROMA)
real(kind=JPRB), intent(out) :: PTOPSWAIAERO(KPROMA)
real(kind=JPRB), intent(out) :: PSOLSWAIAERO(KPROMA)
real(kind=JPRB), intent(out) :: PTOPSWCFAERO(KPROMA,3)
real(kind=JPRB), intent(out) :: PSOLSWCFAERO(KPROMA,3)
real(kind=JPRB), intent(out) :: PSWADAERO(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: PTOPLWADAERO(KPROMA)
real(kind=JPRB), intent(out) :: PSOLLWADAERO(KPROMA)
real(kind=JPRB), intent(out) :: PTOPLWAD0AERO(KPROMA)
real(kind=JPRB), intent(out) :: PSOLLWAD0AERO(KPROMA)
real(kind=JPRB), intent(out) :: PTOPLWAIAERO(KPROMA)
real(kind=JPRB), intent(out) :: PSOLLWAIAERO(KPROMA)
real(kind=JPRB), intent(out) :: PLWADAERO(KPROMA,KLEV+1)
real(kind=JPRB), intent(out) :: volmip_solsw(KPROMA)
integer, intent(in) :: flag_volc_surfstrat

0.2 LOCAL ARRAYS. -------------

logical, intent(in) :: ok_ade
logical, intent(in) :: ok_aie
logical, intent(in) :: ok_volcan
integer, intent(in) :: flag_aerosol
logical, intent(in) :: flag_aerosol_strat
logical, intent(in) :: flag_aer_feedback

Calls

proc~~recmwf_aero~~CallsGraph proc~recmwf_aero RECMWF_AERO proc~dr_hook dr_hook proc~recmwf_aero->proc~dr_hook

Contents