wrf-model / genbe_2.0 Goto Github PK
View Code? Open in Web Editor NEWRepository for the new stand-alone GEN_BE capability for WRFDA.
Repository for the new stand-alone GEN_BE capability for WRFDA.
When use_global_bin=.true.
and num_bins2d .gt. 1
, the lines 560 to 562
filename = 'sl_print.b'//ci//'.'//trim(variable)
open( unit=ounit, file=trim(filename), form='formatted', &
action='write', access='sequential', status='replace')
will be executed. In lines 507-509, there are the same codes as above, and there is not a close
statement between them, which means the file filename
will be opened more than once. This may cause an error in some compiler, such as ifort 17.0.5. According to the context, the code from lines 560 to 562 may be able to be deleted.
There is Is the purpose of the conditional below computational efficiency?
There is a conditional test that prevents the calculation of var_bin_field, var_bin_lap_field, var_field, and var_lap_field when the lap_field_2d is small.
if ( lap_field_2d(i,j) .gt. 1e-13 ) then
Line 356 in 549f360
Based on testing, I don't think this conditional filter is good for chemical (e.g., no2) calculations. When I remove the filter, the results look much more reasonable.
The read_be_gsi uses dsig to normalize the vertical length scale[1,2], but I believe it should be updated for sigma coordinate and may need to be redone for hybrid coordinates.
Right now, dsig is calculated from sigma (aka eta) coordinates using the centers and approximating the edge values. Essentially, half the distance in log space between each center-point and the center-points above/below is assigned to each level. For the bottom level and the top level, the distance in each direction is approximated using the distance in one direction (up for the bottom level; down for the top level). This approximation is unnecessary for the bottom since the edge value is defined as 1. The top edge is also defined as zero, but cannot be used because its value is undefined in log-space.
Attached is a fortran code with several alternative calculations.
The last alternative is based on two things. (2) My interpretation of the code is that dsig approximates a value proportional to
The Fortran code produces the attached CSV output and I made the following figure to show the changes. For the vertical coordinate used at the EPA, the first approach changes the bottom value by ~7% and the top value by a similar amount. The other approaches make larger changes.
[1] https://github.com/wrf-model/GENBE_2.0/blob/master/src/gen_be_nc2gsi.F#L627-L631
[2] https://github.com/wrf-model/GENBE_2.0/blob/master/src/gen_be_nc2gsi.F#L637
ls_method = 1 does not appear to be operational. There are two major bugs that occur when using ls_method = 1 with correl or covar and gauss
Line 432 in 549f360
Line 433 in 549f360
Line 434 in 549f360
Line 435 in 549f360
Line 436 in 549f360
Also, ls_method = 1 appears to only work with single level variables. Is this as intended?
I am pursuing ls_method = 1 instead of 2 because I am getting surprising results and wanted to explore other options.
When I rans the gen_be_stage3.exe, it threw me an error. And I backtracked to the subroutine read_input_state in external/tools/io_input.f90. In the line 181:
call io_input_field_time(input_obj, state % date)
the second argument should be type(field3dReal/field2dReal/field1dReal)
. However, the input argument here is character (len=10) :: date
. This may cause illegal memory access in some compilers (my compiler is ifort 17.0.5).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.