Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

no valid urban data for

Status
Not open for further replies.

bai

baixl
New Member
While running the CLM5.0 model, I encountered some errors and would like to ask you for advice.I would appreciate it if you have time to help me with my answers.
surfrd_special ERROR: no valid urban data for nl= 117668
density type: 3
urban_valid: F
canyon_hwr: 0.400000000000000
em_improad: 0.950000000000000
em_perroad: 0.950000000000000
em_roof: 0.750000000000000
em_wall: 0.870000000000000
ht_roof: 10.0000000000000
thick_roof: 0.140000000000000
thick_wall: 0.420000000000000
t_building_min: 278.000000000000
wind_hgt_canyon: 5.00000000000000
wtlunit_roof: 0.350000000000000
wtroad_perv: 0.920000000000000
...
and many bugs like this
Hopefully someone can tell me why and answer questions
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
The model is checking to see if it has urban parameter data (e.g., canyon_hwr) for each urban landunit in each grid cell (as determined from PCT_URBAN in the surface dataset). The error indicates that there is not parameter data for at least one parameter. The list you show looks ok, however, there are other parameters not shown in your list, one of which must be less than or equal to zero, that is throwing the error.
 

bai

baixl
New Member
Thank you very much for your reply! I understand that there are 26 types of city parameter data, which are shown in the table below, I wonder if these 26 are all of them? One of the parameters must be less than or all equal to zero, how do I understand this statement and which parameter is it? I hope you can help me to answer, thank you very much.
canyon_hwr
em_improad
em_perroad
em_roof
em_wall
ht_roof
thick_roof
thick_wall
t_building_min
wind_hgt_canyon
wtlunit_roof
wtroad_perv
alb_improad_dir
alb_improad_dif
alb_perroad_dir
alb_perroad_dif
alb_roof_dir
alb_roof_dif
alb_wall_dir
alb_wall_dif
tk_roof
tk_wall
tk_improad
cv_roof
cv_wall
cv_improad
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
That is the list. There should be output in either your cesm.log or lnd.log showing which parameter is less than or equal to zero. You can attach your log files here if you want.
 

bai

baixl
New Member
This is my log file, cesm.log.1 is the error that appeared after I changed the city data for the first time. But when I added the city parameter data, the error in cesm.log.2 appeared again. I also added the code attachment UrbanParamsType.F90 that reports the error. I would like to ask you what urban_valid refers to and how urban_valid shows false (F) to determine this. I understand that when I supplement these 26 types of urban parameter data, the newly added urban grid points will work properly, but when I supplement the urban parameter data, it still shows that the urban data is invalid, is it because I did not supplement it completely? Also do you have any good suggestions on how to supplement the urban parameter data of the newly added urban data to be more accurate and realistic?Looking forward to your reply, thank you very much!
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I don't see any attachments unfortunately. But urban_valid is determined in this code that reads the surface dataset:

src/main/surfrdMod.F90

! Read urban info
if (nlevurb == 0) then
! If PCT_URBAN is not multi-density then set pcturb to zero
pcturb = 0._r8
urban_valid(begg:endg) = .false.
write(iulog,*)'PCT_URBAN is not multi-density, pcturb set to 0'
else
call ncd_io(ncid=ncid, varname='PCT_URBAN' , flag='read', data=pcturb, &
dim1name=grlnd, readvar=readvar)
if (.not. readvar) call endrun( msg=' ERROR: PCT_URBAN NOT on surfdata file'//errMsg(sourcefile, __LINE__))

call ncd_io(ncid=ncid, varname='URBAN_REGION_ID', flag='read', data=urban_region_id, &
dim1name=grlnd, readvar=readvar)
if (.not. readvar) call endrun( msg= ' ERROR: URBAN_REGION_ID NOT on surfdata file'//errMsg(sourcefile, __LINE__))
where (urban_region_id == urban_invalid_region)
urban_valid = .false.
elsewhere
urban_valid = .true.
end where
end if

In particular, see the setting of urban_valid in the last section of this code.
 

bai

baixl
New Member
I am very sorry that the attachment was not sent successfully, it should be sent successfully this time.
 

Attachments

  • log file.zip
    12.6 KB · Views: 12

bai

baixl
New Member
With the information expressed in the attachment, can you see where I have a problem? I have added city parameter data for all these points, but the city data is still showing invalid, which is distressing me.
 

bai

baixl
New Member
Another point I want to make clear is that to verify the reason, I replaced all the places where the city parameter data is zero with places where the parameter has a value close to it, thus ensuring that all points have city parameter data. But even so, it still shows invalid city data, can you help me with the reason?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Ok, sorry, I see what is going on now. It's not that the parameter data is a problem, it's that the pct_urban is greater than zero but there is no valid urban region associated with it. So, for some grid cells, PCT_URBAN is greater than zero but URBAN_REGION_ID is not valid (URBAN_REGION_ID = urban_invalid_region = 0). So I suggest looking at your surface dataset to see why that is.
 

bai

baixl
New Member
Dear friend, it was a pleasure to communicate with you and thank you very much for helping me during this time. I think I have understood how to solve this problem. I sincerely wish you a happy life.Finally, I would like to ask you if you have any good suggestions about supplementing the city parameter data and URBAN_REGION_ID for the new city grid points?
 

bai

baixl
New Member
Hello dear friend, I am sorry to bother you again. There is a new question I would like to ask you, I would appreciate if you could reply me. I would like to ask you where can I find the original code for vaporization in CLM 5.0?
 
Status
Not open for further replies.
Top