Page 1 of 1

BEP+BEM giving strange output at run time

PostPosted: Fri Jun 05, 2015 11:09 am
by bergOpolis
Greetings all,
I am attempting to use the BEP+BEM urban physics module (sf_urban_physics=3). I have left the URBPARM.TBL set to default values while I get everything working, including the height distribution by urban category.

Attached is a small sample of the output at run time:
Code: Select all
 ss_urb   0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000      0.150000006      0.699999988      0.150000006       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000   
 pb_urb   1.00000000       1.00000000      0.850000024      0.150000036       2.98023224E-08   2.98023224E-08   0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000   
 nz_urb           0           0           0
 d_urb  0.150000006      0.699999988      0.150000006       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000       0.00000000

nz_urb, # of layers in the urban grid should not be 0.
This should be coming direct from the URBPARM.TBL file, right?

Thanks for any insight you can provide.

Re: BEP+BEM giving strange output at run time

PostPosted: Mon Jun 08, 2015 7:27 am
by bergOpolis
The plot thickens. Looking closer at the output that I thought was 100% garbage, I found that there are absurdly extreme values (hi and low) for about 80% of history time steps, but WRF seems to occasionally snap back to sanity. I am using adaptive time step, but there are no errors and it claims to finish successfully. Is adaptive time step compatible with the urban physics modules?


I added the following line and recompiled:
Code: Select all
print*, 'nz_u', nz_u

now it outputs:
Code: Select all
nz_u           9           6           5

Which is closer to what I'd expect (i.e. 7,4,3 from URBPARM.TBL), but larger by 2.

Also, why does pb_urb (probability height is greater than "z") not have a dimension for the number of urban classes (iurb), but ss_urb (probability height is equal to "z") does. The former is derived from the later:
Code: Select all
    do iz_u=1,nzu

thus it should be different for each ubran class... I thought ss and pb were just alternative ways of expressing the same idea (i.e. probability distribution of height).

There seems to be a lot of redundant variables and code in this module. The distribution of heights should stay static over most simulation timescales and within urban classes. (recomputing them at every call and for grid location seems a bit unnecessary) I'm not trying to be picky... perhaps some of it is needed to accommodate gridded data (opposed to urban classes) from NUDAPT? Some additional commenting would REALLY help. Anybody out there who works with these modules?

Re: BEP+BEM giving strange output at run time

PostPosted: Tue Jun 09, 2015 8:18 am
by bergOpolis
I'm not going to say this is solved, because I've still got a LOT of questions about module_sf_bep_bem, however regarding my main concern about the output values:

I was using output_diagnostics from auxhist3 for hourly average values rather than instantaneous values from the default output stream (also for smaller output file sizes). I guess that these hourly diagnostic routines to not play well with adaptive time step. I modified the registry to limit the output to only what I need and am only using the standard output now (I suppose i'll need to find some trade off between frequency of the history output for averaging and file size).

There are no longer any extreme discontinuities or physically impossible values in the output. However, the runtime output from the height distribution variables (nz_urb, ss_urb, pb_urb) still seem to have a lot of zeros. If you look above at the output from ss_urb, it has the shape (18,3) [18 max layers, 3 urban classes] however it appears to have values only from one class and zeros for the other 2. This is troubling and does not do a lot for my confidence.

(thinking "out loud": perhaps it has to do with *when* these arrays are printed... if they are zeroed every iteration and only filled with the values for a particular class, that could explain why I'm only seeing values for the last of the 3 classes)