Changeset 2258
- Timestamp:
- Mar 12, 2020, 4:16:39 PM (5 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r2257 r2258 2883 2883 - look for NaN using logical test a/=a instead of isnan() which is not standard 2884 2884 - use erf() function as it handles single/double precision (derf is obsolete) 2885 2886 == 12/03/2020 == FL+EM 2887 Update newstart option "composition" with Trainer et al 2019. (and ACS) 2888 values. 2885 2889 -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/newstart.F
r2217 r2258 24 24 & igcm_ccn_number, igcm_ccn_mass, 25 25 & igcm_h2o_vap, igcm_h2o_ice, igcm_co2, 26 & igcm_n2, igcm_ar, igcm_o2, igcm_co 26 & igcm_n2, igcm_ar, igcm_o2, igcm_co, 27 & igcm_o, igcm_h2 27 28 use surfdat_h, only: phisfi, z0, zmea, zstd, zsig, zgam, zthe, 28 29 & albedodat, z0_default, qsurf, tsurf, … … 176 177 real :: Mair_old,Mair_new,vmr_old,vmr_new 177 178 real,allocatable :: coefvmr(:) ! Correction coefficient when changing composition 179 real :: maxq 178 180 integer :: iloc(1), iqmax 179 181 ! sub-grid cloud fraction … … 1067 1069 1068 1070 if (iq.eq.igcm_n2) then 1069 write(*,*) "New vmr(n2)? (MSL: 2.03e-02 at Ls~184)" 1071 write(*,*) "New vmr(n2)? (MSL: 2.8e-02 at Ls~180,", 1072 & " Trainer et al. 2019)" 1070 1073 endif 1071 1074 if (iq.eq.igcm_ar) then 1072 write(*,*) "New vmr(ar)? (MSL: 2. 07e-02 at Ls~184)"1075 write(*,*) "New vmr(ar)? (MSL: 2.1e-02 at Ls~180)" 1073 1076 endif 1074 1077 if (iq.eq.igcm_o2) then 1075 write(*,*) "New vmr(o2)? (MSL: 1.7 3e-03 at Ls~184)"1078 write(*,*) "New vmr(o2)? (MSL: 1.7e-03 at Ls~180)" 1076 1079 endif 1077 1080 if (iq.eq.igcm_co) then 1078 write(*,*) "New vmr(co)? ( MSL: 7.49e-04 at Ls~184)"1081 write(*,*) "New vmr(co)? (ACS: 1e-03 at Ls~180)" 1079 1082 endif 1080 1083 302 read(*,*,iostat=ierr) vmr_new … … 1093 1096 vmr_old=q(iref,jref,1,igcm_co2)*Mair_old/mmol(igcm_co2) 1094 1097 write(*,*) "Previous vmr(co2)=", vmr_old 1095 write(*,*) "New vmr(co2) ? (MSL: 0.956521 at Ls~184)" 1098 write(*,*) "New vmr(co2) ? (MSL: 0.947 at Ls~180)", 1099 & " Trainer et al. 2019)" 1096 1100 666 read(*,*,iostat=ierr) vmr_new 1097 1101 if(ierr.ne.0) goto 666 … … 1132 1136 if ((iq.eq.igcm_co2).or.(iq.eq.igcm_n2) 1133 1137 & .or.(iq.eq.igcm_ar) 1134 & .or. (iq.eq.igcm_o2).or.(iq.eq.igcm_co)) then 1138 & .or. (iq.eq.igcm_o2).or.(iq.eq.igcm_co) 1139 & .or. (iq.eq.igcm_o) .or. (iq.eq. igcm_h2) ) then 1135 1140 Smmr_old = Smmr_old + q(i,j,l,iq) ! sum of old mmr 1136 1141 q(i,j,l,iq)=q(i,j,l,iq)*coefvmr(iq)*Mair_old/Mair_new … … 1138 1143 end if 1139 1144 enddo 1140 iloc = maxloc(q(i,j,l,:)) 1141 iqmax = iloc(1) 1145 !iloc = maxloc(q(i,j,l,:)) 1146 iqmax=0 ; maxq=0 1147 do iq=1,nqtot 1148 if ((iq.eq.igcm_co2).or.(iq.eq.igcm_n2) 1149 & .or.(iq.eq.igcm_ar) 1150 & .or. (iq.eq.igcm_o2).or.(iq.eq.igcm_co) 1151 & .or. (iq.eq.igcm_o) .or. (iq.eq. igcm_h2) ) then 1152 if (q(i,j,l,iq).gt.maxq) then 1153 maxq=q(i,j,l,iq) 1154 iqmax=iq 1155 endif 1156 endif 1157 enddo 1158 !iqmax = iloc(1) 1142 1159 q(i,j,l,iqmax) = q(i,j,l,iqmax) + Smmr_old - Smmr_new 1143 1160 enddo … … 1150 1167 write(*,*) 'At reference site vmr(CO2)=', 1151 1168 & q(iref,jref,1,igcm_co2)*Mair_new/mmol(igcm_co2) 1152 write(*,*) "Compared to MSL observation: vmr(CO2)= 0.957 "// 1153 & "at Ls=184" 1169 write(*,*) "Compared to MSL observation: vmr(CO2)= 0.947 "// 1170 & "at Ls=180" 1171 1172 Sn = q(iref,jref,1,igcm_co2)*Mair_new/mmol(igcm_co2) 1173 & + q(iref,jref,1,igcm_n2)*Mair_new/mmol(igcm_n2) 1174 & + q(iref,jref,1,igcm_ar)*Mair_new/mmol(igcm_ar) 1175 & + q(iref,jref,1,igcm_o2)*Mair_new/mmol(igcm_o2) 1176 & + q(iref,jref,1,igcm_co)*Mair_new/mmol(igcm_co) 1177 1178 write(*,*) 'Sum of volume mixing ratios = ', Sn 1154 1179 1155 1180 c wetstart : wet atmosphere with a north to south gradient
Note: See TracChangeset
for help on using the changeset viewer.