SUBROUTINE co2snow (ngrid,nlayer,ptimestep,emisref,condsub & ,pplev,pcondicea,pcondices,pfallice,pemisurf) use surfdat_h, only: iceradius, dtemisice use geometry_mod, only: latitude ! grid point latitudes (rad) use time_phylmdz_mod, only: daysec IMPLICIT NONE c======================================================================= c Program for simulate the impact of the CO2 snow fall on c the surface infrared emission (emissivity) and on c the airborne dust c F.Forget 1996 c======================================================================= c Declarations c ------------ #include "callkeys.h" c Arguments c --------- INTEGER,INTENT(IN) :: ngrid ! number of atmospheric columns INTEGER,INTENT(IN) :: nlayer ! number of atmospheric layers REAL,INTENT(IN) :: ptimestep ! timestep of the physics (s) REAL,INTENT(IN) :: emisref(ngrid) ! grd or ice emissivity without snow logical,intent(in) :: condsub(ngrid) ! true if there is CO2 condensation ! or sublimation in the column REAL,INTENT(IN) :: pplev(ngrid,nlayer+1) ! interlayer pressure (Pa) REAL,INTENT(IN) :: pcondicea(ngrid,nlayer) ! CO2 condensation rate (kg/m2/s) REAL,INTENT(IN) :: pcondices(ngrid) ! CO2 condensation rate (kg/m2/s) ! on the surface REAL,INTENT(IN) :: pfallice(ngrid,nlayer+1) ! falling CO2 ice (kg/m2/s) REAL,INTENT(OUT) :: pemisurf(ngrid) ! surface emissivity c local c ----- integer ig , l , icap REAL zdemisurf ,dtemis REAL sumdaer c saved c ----- REAL,save :: Kscat(2), scaveng LOGICAL,SAVE :: firstcall=.true. c -------------- c Initialisation c -------------- ! AS: firstcall OK absolute if (firstcall) then c Kscat : coefficient for decreasing the surface emissivity c =(0.001/3.)*alpha/iceradius , c with 0.3< alpha < 0.6, set to 0.45 (coeff from emis = f (tau)) c and iceradius the mean radius of the c scaterring particles (200.e-6