Question about urban data in regional CTSM case

shahla salimpour

shahla salimpour
New Member
Hi all,

I have a question about my regional CTSM case.

After I submit my case (using CLM5), I encounter the error <span>ERROR: no valid urban data</span> from <span>UrbanTimeVarType.F90</span>. My regional surface file seems to contain urban landunits, but the model cannot find valid urban data for some grid cells.

How can I keep urban landunits in a regional case and make the urban dataset consistent with the regional surface file? I also could not find any urban inputdata for 0.5° resolution.

ant help would be appreciated.
1777490143001.png
 

slevis

Moderator
Staff member
Looking for this error message in my version of the code, I found it in `src/cpl/share_esmf/UrbanTimeVarType.F90` as follows:

Code:
    ! Error check

    found = .false.

    do l = bounds%begl,bounds%endl

       if (lun%urbpoi(l)) then

          do g = bounds%begg,bounds%endg

             if (g == lun%gridcell(l)) exit

          end do

          ! Check for valid urban data

          if ( .not. urban_valid(g) .or. (this%t_building_max(l) <= 0._r8)) then

             found = .true.

             gindx = g

             lindx = l

             exit

          end if

          if (urban_explicit_ac) then

             if (this%p_ac(l) < 0._r8 .or. this%p_ac(l) > 1._r8) then

                found = .true.

                gindx = g

                lindx = l

                exit

             end if

          end if

       end if

    end do

    if ( found ) then

       write(iulog,*)'ERROR: no valid urban data for g= ',gindx

       write(iulog,*)'landunit type:   ',lun%itype(lindx)

       write(iulog,*)'urban_valid:     ',urban_valid(gindx)

       write(iulog,*)'t_building_max:  ',this%t_building_max(lindx)

       write(iulog,*)'p_ac:            ',this%p_ac(lindx)

       call endrun(subgrid_index=lindx, subgrid_level=subgrid_level_landunit, &

            msg=errmsg(sourcefile, __LINE__))

    end if

The error means that found = .true., and you can see what conditions lead to that. Since you're in CLM5, find the same section of code in your version in case it's a bit different.
 
Vote Upvote 0 Downvote
Back
Top