Changeset 1917 for trunk/LMDZ.MARS/libf/phymars
- Timestamp:
- Apr 10, 2018, 9:16:11 AM (7 years ago)
- Location:
- trunk/LMDZ.MARS/libf/phymars
- Files:
-
- 1 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/lwflux.F
r1266 r1917 15 15 implicit none 16 16 17 #include "callkeys.h"18 #include "comg1d.h"17 include "callkeys.h" 18 include "comg1d.h" 19 19 20 20 c---------------------------------------------------------------------- … … 23 23 c inputs: 24 24 c ------- 25 integer ig026 integer kdlon! part of ngrid27 integer kflev! part of nlayer28 29 real dp (ndlo2,kflev)! layer pressure thickness (Pa)30 31 real bsurf (ndlo2,nir)! surface spectral planck function32 real blev (ndlo2,nir,kflev+1)! level spectral planck function33 real blay (ndlo2,nir,kflev)! layer spectral planck function34 real btop (ndlo2,nir)! top spectral planck function35 real dbsublay (ndlo2,nir,2*kflev) ! layer gradient spectral planck36 ! function in sub layers37 38 real dt0 (ndlo2)! surface temperature discontinuity39 real tlay (ndlo2,kflev)! layer temperature40 real tlev (ndlo2,kflev+1)! level temperature41 42 real emis (ndlo2)! surface emissivity43 44 real tautotal(ndlo2,kflev,nir) ! \ Total single scattering45 real omegtotal(ndlo2,kflev,nir) ! > properties (Addition of the46 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.) 47 47 48 48 49 49 c outputs: 50 50 c -------- 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 ground54 ! for surface radiative budget55 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") 56 56 57 57 … … 60 60 c ------------ 61 61 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 64 63 real ksidb (ndlon,nuco2+1,0:nflev+1,0:nflev+1) ! net exchange rate (W/m2) 65 64 … … 78 77 79 78 80 ndim = ndlon*(nuco2+1)*(nflev+2)*(nflev+2) 81 call zerophys(ndim, ksidb) 79 ksidb(:,:,:,:)=0 82 80 83 81 c---------------------------------------------------------------------- … … 358 356 c ig0+1: point du decoupage de la grille physique 359 357 360 c#ifdef undim361 358 if (callg2d) then 362 359 … … 504 501 endif 505 502 c************************************************************************ 506 c#endif507 503 endif ! callg2d 508 504 509 return510 505 end -
trunk/LMDZ.MARS/libf/phymars/lwu.F
r1266 r1917 34 34 use dimradmars_mod, only: naerkind 35 35 use yomlw_h, only: nlaylte, tref, at, bt, cst_voigt 36 USE comcstfi_h36 use comcstfi_h, only: g 37 37 implicit none 38 38 39 #include "callkeys.h"39 include "callkeys.h" 40 40 41 41 c---------------------------------------------------------------------- … … 44 44 c inputs: 45 45 c ------- 46 integer kdlon! part of ngrid47 integer kflev! part of nalyer48 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 depth46 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 53 53 c at reference wavelength "longrefvis" set 54 54 c in dimradmars_mod , in each layer, for one of 55 55 c 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 ssa58 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. 59 59 60 60 c outputs: 61 61 c -------- 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 scattering67 real omegtotal(ndlo2,kflev,nir) ! > properties (Addition of the68 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) 69 69 70 70 c---------------------------------------------------------------------- … … 105 105 c all the NAERKIND kind of aerosols in each IR band 106 106 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 110 110 111 111 do n=1,naerkind … … 210 210 211 211 c---------------------------------------------------------------------- 212 return213 212 end -
trunk/LMDZ.MARS/libf/phymars/lwxd.F
r1266 r1917 36 36 implicit none 37 37 38 #include "callkeys.h"38 include "callkeys.h" 39 39 40 40 c---------------------------------------------------------------------- … … 43 43 c inputs: 44 44 c ------- 45 integer ig046 integer kdlon ! part of ngrid47 integer kflev ! part of nalyer45 integer,intent(in) :: ig0 46 integer,intent(in) :: kdlon ! part of ngrid 47 integer,intent(in) :: kflev ! part of nalyer 48 48 49 real emis (ndlo2)! surface emissivity50 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) 53 53 54 54 c---------------------------------------------------------------------- … … 56 56 c ------------ 57 57 58 integer ja,jl,jk,jkk,ndim 59 ! parameter(ndim = ndlon*nuco2*(nflev+2)*(nflev+2)) 60 61 58 integer ja,jl,jk,jkk 62 59 real zu (ndlon,nuco2) 63 60 real zup (ndlon,nuco2) … … 71 68 72 69 c---------------------------------------------------------------------- 73 ndim = ndlon*nuco2*(nflev+2)*(nflev+2) 74 call zerophys(ndim,ksi_emis) 70 ksi_emis(:,:,:,:)=0 75 71 c---------------------------------------------------------------------- 76 72 c 1.0 Transmission functions … … 252 248 253 249 c---------------------------------------------------------------------- 254 return255 250 end
Note: See TracChangeset
for help on using the changeset viewer.