Changeset 459 for trunk/LMDZ.MARS/libf/phymars/physiq.F
- Timestamp:
- Dec 8, 2011, 10:04:00 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/physiq.F
r420 r459 201 201 real rsedcloud(ngridmx,nlayermx) ! Cloud sedimentation radius 202 202 real rhocloud(ngridmx,nlayermx) ! Cloud density (kg.m-3) 203 REAL surfdust(ngridmx,nlayermx) ! dust surface area (m icron2/cm3, if photochemistry)204 REAL surfice(ngridmx,nlayermx) ! ice surface area (micron2/cm3, if photochemistry)203 REAL surfdust(ngridmx,nlayermx) ! dust surface area (m2/m3, if photochemistry) 204 REAL surfice(ngridmx,nlayermx) ! ice surface area (m2/m3, if photochemistry) 205 205 206 206 c Variables used by the slope model … … 1022 1022 END IF ! of IF (water) 1023 1023 1024 1025 c 7b. Chemical species 1026 c ------------------ 1027 1028 #ifndef MESOSCALE 1029 c -------------- 1030 c photochemistry : 1031 c -------------- 1032 IF (photochem .or. thermochem) then 1033 !NB: Photochemistry includes condensation of H2O2 1034 PRINT*, 'SURFDUST,SURFICE TO BE IMPLEMENTED. YAAAAAARG.' 1035 call calchim(ptimestep,pplay,pplev,pt,pdt,dist_sol,mu0, 1036 $ zzlev,zzlay,zday,pq,pdq,zdqchim,zdqschim, 1037 $ zdqcloud,zdqscloud,tauref,co2ice, 1038 $ pu,pdu,pv,pdv,surfdust,surfice) 1039 1040 ! increment values of tracers: 1041 DO iq=1,nq ! loop on all tracers; tendencies for non-chemistry 1042 ! tracers is zero anyways 1043 DO l=1,nlayer 1044 DO ig=1,ngrid 1045 pdq(ig,l,iq)=pdq(ig,l,iq)+zdqchim(ig,l,iq) 1046 ENDDO 1047 ENDDO 1048 ENDDO ! of DO iq=1,nq 1049 ! add condensation tendency for H2O2 1050 if (igcm_h2o2.ne.0) then 1051 DO l=1,nlayer 1052 DO ig=1,ngrid 1053 pdq(ig,l,igcm_h2o2)=pdq(ig,l,igcm_h2o2) 1054 & +zdqcloud(ig,l,igcm_h2o2) 1055 ENDDO 1056 ENDDO 1057 endif 1058 1059 ! increment surface values of tracers: 1060 DO iq=1,nq ! loop on all tracers; tendencies for non-chemistry 1061 ! tracers is zero anyways 1062 DO ig=1,ngrid 1063 dqsurf(ig,iq)=dqsurf(ig,iq)+zdqschim(ig,iq) 1064 ENDDO 1065 ENDDO ! of DO iq=1,nq 1066 ! add condensation tendency for H2O2 1067 if (igcm_h2o2.ne.0) then 1068 DO ig=1,ngrid 1069 dqsurf(ig,igcm_h2o2)=dqsurf(ig,igcm_h2o2) 1070 & +zdqscloud(ig,igcm_h2o2) 1071 ENDDO 1072 endif 1073 1074 END IF ! of IF (photochem.or.thermochem) 1075 #endif 1076 1077 c 7c. Aerosol particles 1024 c 7b. Aerosol particles 1078 1025 c ------------------- 1079 1026 … … 1130 1077 ENDDO 1131 1078 END IF ! of IF (sedimentation) 1079 1080 c 7c. Chemical species 1081 c ------------------ 1082 1083 #ifndef MESOSCALE 1084 c -------------- 1085 c photochemistry : 1086 c -------------- 1087 IF (photochem .or. thermochem) then 1088 1089 ! dust and ice surface area 1090 call surfacearea(ngrid, nlayer, pplay, zzlay, pt, pq, nq, 1091 $ rdust, rice, tau, tauscaling, 1092 $ surfdust, surfice) 1093 ! call photochemistry 1094 call calchim(ptimestep,pplay,pplev,pt,pdt,dist_sol,mu0, 1095 $ zzlev,zzlay,zday,pq,pdq,zdqchim,zdqschim, 1096 $ zdqcloud,zdqscloud,tauref,co2ice, 1097 $ pu,pdu,pv,pdv,surfdust,surfice) 1098 1099 ! increment values of tracers: 1100 DO iq=1,nq ! loop on all tracers; tendencies for non-chemistry 1101 ! tracers is zero anyways 1102 DO l=1,nlayer 1103 DO ig=1,ngrid 1104 pdq(ig,l,iq)=pdq(ig,l,iq)+zdqchim(ig,l,iq) 1105 ENDDO 1106 ENDDO 1107 ENDDO ! of DO iq=1,nq 1108 1109 ! add condensation tendency for H2O2 1110 if (igcm_h2o2.ne.0) then 1111 DO l=1,nlayer 1112 DO ig=1,ngrid 1113 pdq(ig,l,igcm_h2o2)=pdq(ig,l,igcm_h2o2) 1114 & +zdqcloud(ig,l,igcm_h2o2) 1115 ENDDO 1116 ENDDO 1117 endif 1118 1119 ! increment surface values of tracers: 1120 DO iq=1,nq ! loop on all tracers; tendencies for non-chemistry 1121 ! tracers is zero anyways 1122 DO ig=1,ngrid 1123 dqsurf(ig,iq)=dqsurf(ig,iq)+zdqschim(ig,iq) 1124 ENDDO 1125 ENDDO ! of DO iq=1,nq 1126 1127 ! add condensation tendency for H2O2 1128 if (igcm_h2o2.ne.0) then 1129 DO ig=1,ngrid 1130 dqsurf(ig,igcm_h2o2)=dqsurf(ig,igcm_h2o2) 1131 & +zdqscloud(ig,igcm_h2o2) 1132 ENDDO 1133 endif 1134 1135 END IF ! of IF (photochem.or.thermochem) 1136 #endif 1132 1137 1133 1138 … … 1743 1748 c call WRITEDIAGFI(ngridmx,'reffdust','reffdust', 1744 1749 c & 'm',3,rdust*ref_r0) 1750 c call WRITEDIAGFI(ngridmx,'rdust','rdust', 1751 c & 'm',3,rdust) 1745 1752 c call WRITEDIAGFI(ngridmx,'dustq','Dust mass mr', 1746 1753 c & 'kg/kg',3,pq(1,1,igcm_dust_mass))
Note: See TracChangeset
for help on using the changeset viewer.