diff --git a/src/extpar_consistency_check.f90 b/src/extpar_consistency_check.f90 index 5320c558..88922190 100644 --- a/src/extpar_consistency_check.f90 +++ b/src/extpar_consistency_check.f90 @@ -444,9 +444,9 @@ PROGRAM extpar_consistency_check & i_landuse_data, & ! 1.e-4_wp) THEN + IF (fr_land_lu(i,j,k) == 0._wp) THEN + ! reset all fractions to 0 and re-establish water fraction + lu_class_fraction(i,j,k,:) = 0._wp + lu_class_fraction(i,j,k,ilu_water) = 1._wp + ELSE IF (lu_sum > lu_class_fraction(i,j,k,ilu_water)) THEN + ! scale non-water fractions in order to sum up to 1 + lu_scale = fr_land_lu(i,j,k) / & + (lu_sum-lu_class_fraction(i,j,k,ilu_water)) + lu_class_fraction(i,j,k,:) = lu_class_fraction(i,j,k,:)*lu_scale + lu_class_fraction(i,j,k,ilu_water) = 1._wp - fr_land_lu(i,j,k) + ELSE ! happens only with extpar data created before February 2014 + CYCLE ! do nothing because it's hopeless + ENDIF + ENDIF +! ext_data(jg)%atm%fr_glac(jc,jb) = ext_data(jg)%atm%lu_class_fraction(jc,jb,ext_data(jg)%atm%i_lc_snow_ice) + ENDIF + + IF (lu_class_fraction(i,j,k,ilu_snow_ice) > 0.01_wp .AND. lat_geo(i,j,k) < -60._wp & + .AND. fr_land_lu(i,j,k) < 0.5_wp .AND. hh_topo(i,j,k) < 100._wp ) THEN + count_frland_ice=count_frland_ice+1 + lu_class_fraction(i,j,k,ilu_snow_ice) = 0.6_wp*fr_land_lu(i,j,k) + lu_class_fraction(i,j,k,ilu_bare_soil) = 0.4_wp*fr_land_lu(i,j,k) + + alb_field_mom (i,j,k,1:12) = 0.15_wp + alnid_field_mom (i,j,k,1:12) = 0.15_wp + aluvd_field_mom (i,j,k,1:12) = 0.15_wp + ENDIF + END DO + END DO + END DO + WRITE(message_text,*)"Number of corrected coastal glacier points in EXTPAR: ", count_frland_ice + CALL logging%info(message_text) + END IF +!---------------------------------------------------------------------------------------------- !------------------------------------------------------------------------------- !-------------------------------------------------------------------------------