Changeset 496 for branches/GRISLIv3/SOURCES/ablation_mod.f90
- Timestamp:
- 05/03/24 15:49:57 (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GRISLIv3/SOURCES/ablation_mod.f90
r467 r496 191 191 IF (methode_abl.EQ.0) THEN 192 192 IF (pdd_type.EQ.1) THEN 193 PDS(:,:)= ACC(:,:)/Csnow_2D(:,:)194 SIMAX(:,:)= ACC(:,:)*CSI_2D(:,:)193 PDS(:,:)=max(ACC(:,:),0.)/Csnow_2D(:,:) 194 SIMAX(:,:)=max(ACC(:,:),0.)*CSI_2D(:,:) 195 195 PDSI(:,:)=SIMAX(:,:)/Cice_2D(:,:) 196 196 ! avec regel de 60% puis fonte (2 premiers where) : … … 216 216 endwhere 217 217 ELSEIF (PDD_type.EQ.2) THEN ! PDD Tarasov 218 PDS(:,:)= ACC(:,:)/Csnow_2D(:,:)219 pr_ice_eq(:,:) = amax1(0.,((PRECIP(:,:)/DICE)- ACC(:,:))) ! precipe liquide (ice equivalent)218 PDS(:,:)=max(ACC(:,:),0.)/Csnow_2D(:,:) 219 pr_ice_eq(:,:) = amax1(0.,((PRECIP(:,:)/DICE)-max(ACC(:,:),0.))) ! precipe liquide (ice equivalent) 220 220 221 221 WHERE (PDD(:,:).LE.PDS(:,:)) … … 225 225 ENDWHERE 226 226 227 snowmelt(:,:) = amin1(totmelt(:,:), ACC(:,:))227 snowmelt(:,:) = amin1(totmelt(:,:),max(ACC(:,:),0.)) 228 228 229 229 ! Deux formules possibles pour la capacité calorifique (en J/kg.K): … … 234 234 235 235 ! where(snowmelt(:,:).lt.ACC(:,:)) 236 refr2(:,:) = 2.2*( ACC(:,:)-snowmelt(:,:))-(cpsurf(:,:)/CL)*amin1(TANN(:,:),0.)236 refr2(:,:) = 2.2*(max(ACC(:,:),0.)-snowmelt(:,:))-(cpsurf(:,:)/CL)*amin1(TANN(:,:),0.) 237 237 refreezed_ice(:,:) = amin1(pr_ice_eq(:,:)+snowmelt(:,:),refr2(:,:)) 238 238 ! elsewhere … … 246 246 ELSE ! pdd standard reeh 247 247 ! (* Positive degrees required to melt the snow layer *) 248 PDS(:,:)= ACC(:,:)/Csnow_2D(:,:)248 PDS(:,:)=max(ACC(:,:),0.)/Csnow_2D(:,:) 249 249 ! (* Maximum amount of super. ice that can be formed *) 250 SIMAX(:,:)= ACC(:,:)*CSI_2D(:,:)250 SIMAX(:,:)=max(ACC(:,:),0.)*CSI_2D(:,:) 251 251 ! (* Pos. degrees required to melt the superimposed ice *) 252 252 PDSI(:,:)=SIMAX(:,:)/Cice_2D(:,:) … … 274 274 ENDIF 275 275 ELSEIF ( methode_abl.EQ.1 ) THEN ! Insolation Temperature Melt equation, van den Berg, 2008 276 SIMAX(:,:)= ACC(:,:)*CSI276 SIMAX(:,:)=max(ACC(:,:),0.)*CSI 277 277 SIF(:,:)=SIMAX(:,:) 278 278 ELSE
Note: See TracChangeset
for help on using the changeset viewer.