Soil Water Balance (SWB2)
|
Provide support for use of netCDF files as input for time-varying, gridded meteorlogic data, or output for any SWB-generated variable. More...
Data Types | |
type | t_netcdf4_file |
type | t_netcdf_attribute |
type | t_netcdf_dimension |
type | t_netcdf_variable |
Functions/Subroutines | |
logical(c_bool) function, public | netcdf_date_within_range (ncfile, ijulianday) |
integer(c_int) function | nf_julian_day_to_index (ncfile, rjulianday) |
We need two functions to convert from index to timeval, and timeval to JD; note that timeval refers to the number of days from the origin of the netCDF file. | |
real(c_double) function | nf_index_to_dayvalue (ncfile, iindex) |
real(c_double) function | nf_dayvalue_to_julian_day (ncfile, rdayvalue) |
integer(c_size_t) function | nf_julian_day_to_index_adj (ncfile, rjulianday) |
integer(c_int) function | nf_return_varid (ncfile, ivarindex) |
integer(c_int) function | nf_return_dimid (ncfile, idimindex) |
integer(c_int) function | nf_return_varindex (ncfile, ivarid) |
character(len=256) function | nf_return_attvalue (ncfile, ivarindex, sattname) |
integer(c_int) function | nf_return_dimindex (ncfile, idimid) |
integer(c_size_t) function | nf_return_dimsize (ncfile, idimid) |
subroutine | nf_guess_z_variable_name (ncfile) |
subroutine, public | netcdf_open_and_prepare_for_merging (ncfile, sfilename, guess_z_var_name) |
subroutine, public | netcdf_open_and_prepare_as_input (ncfile, sfilename, lfliphorizontal, lflipvertical, lallowautomaticdataflipping, rx_coord_addoffset, ry_coord_addoffset, svariableorder, svarname_x, svarname_y, svarname_z, svarname_time, rcoordinatetolerance, tgridbounds, ilu) |
subroutine, public | netcdf_open_and_prepare_as_output_archive (ncfile, ncfile_archive, ioriginmonth, ioriginday, ioriginyear, istartyear, iendyear) |
subroutine, public | netcdf_open_and_prepare_as_output (ncfile, svariablename, svariableunits, inx, iny, fx, fy, startdate, enddate, proj4_string, history_list, executable_name, dplat, dplon, fvalidmin, fvalidmax, write_time_bounds, filename_prefix, filename_modifier) |
subroutine | nf_set_z_variable_name (ncfile, svarname_z) |
subroutine | nf_set_iteration_bounds (ncfile) |
subroutine | nf_set_start_count_stride (ncfile) |
subroutine | nf_return_native_coord_bounds (ncfile) |
subroutine | nf_get_time_vals (ncfile) |
subroutine | nf_get_x_and_y (ncfile) |
subroutine | nf_open_file (ncfile, sfilename, ilu) |
subroutine, public | netcdf_open_file (ncfile, sfilename, ilu) |
subroutine | nf_trap (iresultcode, sfilename, ilinenumber, netcdf_filename) |
subroutine, public | netcdf_close_file (ncfile) |
subroutine, public | netcdf_deallocate_data_struct (ncfile) |
subroutine, public | netcdf_nullify_data_struct (ncfile) |
subroutine | nf_populate_dimension_struct (ncfile) |
subroutine | nf_populate_variable_struct (ncfile) |
subroutine | nf_populate_attribute_struct (ncfile, pnc_att, inc_varid, iattnum) |
subroutine, public | netcdf_get_variable_id_for_variable (ncfile, variable_name, variable_id) |
subroutine, public | netcdf_get_attribute_list_for_variable (ncfile, variable_name, attribute_name_list, attribute_value_list) |
subroutine, public | netcdf_set_coordinate_tolerance (ncfile, tolerance) |
subroutine, public | netcdf_get_variable_list (ncfile, variable_list) |
logical(c_bool) function, public | netcdf_update_time_starting_index (ncfile, ijulianday) |
subroutine, public | netcdf_get_variable_slice (ncfile, rvalues, dpvalues, ivalues) |
subroutine | nf_get_variable_slice_short (ncfile, i2values) |
subroutine | nf_get_variable_slice_int (ncfile, ivalues) |
subroutine | nf_get_variable_slice_float (ncfile, rvalues) |
subroutine | nf_get_variable_slice_double (ncfile, dpvalues) |
subroutine | nf_get_variable_vector_short (ncfile, inc_varid, inc_start, inc_count, inc_stride, inc_vars) |
subroutine | nf_get_variable_array_short (ncfile, inc_varid, inc_start, inc_count, inc_stride, inc_vars) |
subroutine | nf_get_variable_array_as_vector_short (ncfile, inc_varid, inc_start, inc_count, inc_stride, inc_vars) |
subroutine | nf_get_variable_array_as_vector_int (ncfile, inc_varid, inc_start, inc_count, inc_stride, inc_vars) |
subroutine | nf_get_variable_vector_int (ncfile, inc_varid, inc_start, inc_count, inc_stride, inc_vars) |
subroutine | nf_get_variable_vector_double (ncfile, inc_varid, inc_start, inc_count, inc_stride, dpnc_vars) |
subroutine | nf_get_variable_array_double (ncfile, inc_varid, inc_start, inc_count, inc_stride, dpnc_vars) |
subroutine | nf_get_variable_array_as_vector_double (ncfile, inc_varid, inc_start, inc_count, inc_stride, dpnc_vars) |
subroutine | nf_get_variable_vector_float (ncfile, inc_varid, inc_start, inc_count, inc_stride, rnc_vars) |
subroutine | nf_get_variable_array_float (ncfile, inc_varid, inc_start, inc_count, inc_stride, rnc_vars) |
subroutine | nf_get_variable_array_as_vector_float (ncfile, inc_varid, inc_start, inc_count, inc_stride, rnc_vars) |
subroutine, public | netcdf_dump_cdl (ncfile, ilu) |
real(c_double) function, dimension(0:1) | nf_get_first_and_last (ncfile, ivarindex) |
subroutine | nf_calculate_time_range (ncfile) |
subroutine | nf_get_time_units (ncfile) |
subroutine | nf_get_xyz_units (ncfile) |
subroutine | nf_get_scale_and_offset (ncfile) |
subroutine | nf_get_variable_id_and_type (ncfile, strict_asserts) |
integer(c_int) function | nf_return_index_double (rvalues, rtargetvalue, roffsetvalue) |
integer(c_size_t) function, dimension(2), public | netcdf_coord_to_col_row (ncfile, rx, ry) |
integer(c_int) function | nf_get_varid (ncfile, svariablename) |
subroutine | nf_create (ncfile, sfilename, ilu) |
subroutine | nf_define_deflate (ncfile, ivarid, ishuffle, ideflate, ideflate_level) |
subroutine | nf_enddef (ncfile) |
subroutine | nf_redef (ncfile) |
subroutine | nf_define_dimension (ncfile, sdimensionname, idimensionsize) |
subroutine | nf_delete_attribute (ncfile, svariablename, sattributename) |
subroutine | nf_define_dimensions (ncfile) |
subroutine | nf_set_standard_dimensions (ncfile, inx, iny, write_time_bounds) |
subroutine | nf_set_standard_variables (ncfile, svarname_z, llatlon, write_time_bounds) |
subroutine | nf_set_global_attributes (ncfile, sdatatype, executable_name, history_list, ssourcefile) |
subroutine | nf_set_standard_attributes (ncfile, sorigintext, proj4_string, llatlon, fvalidmin, fvalidmax, write_time_bounds) |
subroutine | nf_put_x_and_y (ncfile, dpx, dpy) |
subroutine | nf_put_lat_and_lon (ncfile, dplat, dplon) |
integer(c_int) function | nf_define_variable (ncfile, svariablename, ivariabletype, inumberofdimensions, idimids) |
subroutine | nf_define_variables (ncfile) |
subroutine, public | netcdf_rewrite_attribute (ncfile, svariablename, sattributename, sattributevalue, iattributevalue, rattributevalue, dpattributevalue) |
subroutine | nf_put_attribute (ncfile, ivarid, sattributename, sattributevalue, iattributevalue, rattributevalue, dpattributevalue) |
subroutine | nf_put_attributes (ncfile) |
subroutine, public | netcdf_put_variable_array (ncfile, ivarid, istart, icount, istride, ivalues, i2values, rvalues, dpvalues) |
subroutine, public | netcdf_put_packed_variable_array (ncfile, ivarid, istart, icount, istride, lmask, ivalues, ifield, i2values, i2field, rvalues, rfield, dpvalues, dpfield) |
subroutine, public | netcdf_put_variable_vector (ncfile, ivarid, istart, icount, istride, ivalues, i2values, rvalues, dpvalues) |
Variables | |
integer(c_int), public | nc_readonly = 0 |
integer(c_int), public | nc_readwrite = 1 |
integer(c_int), parameter | nc_nat = 0 |
integer(c_int), parameter | nc_byte = 1 |
integer(c_int), parameter | nc_char = 2 |
integer(c_int), parameter | nc_short = 3 |
integer(c_int), parameter | nc_int = 4 |
integer(c_int), parameter | nc_long = NC_INT |
integer(c_int), parameter, public | nc_float = 5 |
integer(c_int), parameter | nc_double = 6 |
integer(c_int), parameter | nc_ubyte = 7 |
integer(c_int), parameter | nc_ushort = 8 |
integer(c_int), parameter | nc_uint = 9 |
integer(c_int), parameter | nc_int64 = 10 |
integer(c_int), parameter | nc_uint64 = 11 |
integer(c_int), parameter | nc_string = 12 |
integer(c_int), parameter | nc_fill_char = 0 |
integer(c_int), parameter | nc_fill_byte = -127 |
integer(c_int), parameter | nc_fill_short = -32767 |
integer(c_int), parameter, public | nc_fill_int = -2147483647 |
integer(c_int), parameter | nc_na_int = -9999 |
real(c_float), parameter, public | nc_fill_float = -9999.0_c_float |
real(c_double), parameter | nc_fill_double = -9.9e-20_c_double |
integer(c_int), parameter | nc_nowrite = 0 |
integer(c_int), parameter | nc_write = 1 |
integer(c_int), parameter | nc_clobber = 0 |
integer(c_int), parameter | nc_noclobber = 4 |
integer(c_int), parameter | nc_fill = 0 |
integer(c_int), parameter | nc_nofill = 256 |
integer(c_int), parameter | nc_lock = 1024 |
integer(c_int), parameter | nc_share = 2048 |
integer(c_int), parameter | nc_strict_nc3 = 8 |
integer(c_int), parameter | nc_64bit_offset = 512 |
integer(c_int), parameter | nc_sizehint_default = 0 |
integer(c_int), parameter | nc_align_chunk = -1 |
integer(c_int), parameter | nc_format_classic = 1 |
integer(c_int), parameter | nc_format_64bit = 2 |
integer(c_int), parameter | nc_format_netcdf4 = 3 |
integer(c_int), parameter | nc_format_netcdf4_classic = 4 |
integer(c_int), parameter | nc_max_dims = 1024 |
integer(c_int), parameter | nc_max_attrs = 8192 |
integer(c_int), parameter | nc_max_vars = 8192 |
integer(c_int), parameter | nc_max_name = 256 |
integer(c_int), parameter | nc_shuffle_yes = 1 |
integer(c_int), parameter | nc_shuffle_no = 0 |
integer(c_int), parameter | nc_deflate_yes = 1 |
integer(c_int), parameter | nc_deflate_no = 0 |
integer(c_int), parameter | nc_netcdf4 = 4096 |
integer(c_int), parameter | nc_classic_model = 256 |
integer(c_int), parameter | nc_unlimited = 0 |
integer(c_int), parameter | nc_global = -1 |
integer(c_int), parameter, public | nc_time = 0 |
@TODO: implement a more flexible way of tracking variable IDs; presently the code can break if lat and lon are omitted, but time_bnds is included; this is because if the lat and lon variables are not defined, NC_TIME_BNDS may be 4 or 5 or some other value. | |
integer(c_int), parameter, public | nc_y = 1 |
integer(c_int), parameter, public | nc_x = 2 |
integer(c_int), parameter, public | nc_z = 3 |
integer(c_int), parameter, public | nc_aux = 3 |
integer(c_int), parameter, public | nc_crs = 4 |
integer(c_int), parameter, public | nc_lat = 5 |
integer(c_int), parameter, public | nc_lon = 6 |
integer(c_int), public | nc_time_bnds = 7 |
integer(c_int), parameter | nc_first = 0 |
integer(c_int), parameter | nc_last = 1 |
integer(c_int), parameter | nc_by = 2 |
integer(c_int), parameter, public | nc_left = 0 |
integer(c_int), parameter, public | nc_right = 1 |
integer(c_int), parameter, public | nc_top = 0 |
integer(c_int), parameter, public | nc_bottom = 1 |
integer(c_int), parameter | column = 1 |
integer(c_int), parameter | row = 2 |
integer(c_int), parameter | leap_year = 0 |
integer(c_int), parameter | noleap_year = 1 |
integer(c_int), parameter | year_is_360_days = 2 |
character(len=25), dimension(4), parameter | netcdf_format_string = ["NC_FORMAT_CLASSIC ", "NC_FORMAT_64BIT ", "NC_FORMAT_NETCDF4 ", "NC_FORMAT_NETCDF4_CLASSIC" ] |
character(len=6), dimension(0:6), parameter | netcdf_data_type = ["nat ", "byte ", "char ", "short ", "int ", "float ", "double" ] |
Provide support for use of netCDF files as input for time-varying, gridded meteorlogic data, or output for any SWB-generated variable.
subroutine, public netcdf4_support::netcdf_close_file | ( | type (t_netcdf4_file ) | ncfile | ) |
integer (c_size_t) function, dimension(2), public netcdf4_support::netcdf_coord_to_col_row | ( | type (t_netcdf4_file ) | ncfile, |
real (c_double) | rx, | ||
real (c_double) | ry ) |
logical (c_bool) function, public netcdf4_support::netcdf_date_within_range | ( | type (t_netcdf4_file ) | ncfile, |
integer (c_int) | ijulianday ) |
Definition at line 317 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_deallocate_data_struct | ( | type (t_netcdf4_file ) | ncfile | ) |
Definition at line 1641 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_dump_cdl | ( | type (t_netcdf4_file ) | ncfile, |
integer | ilu ) |
Definition at line 2700 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_get_attribute_list_for_variable | ( | type (t_netcdf4_file), intent(inout) | ncfile, |
character (len=*), intent(in) | variable_name, | ||
type (fstring_list_t), intent(out) | attribute_name_list, | ||
type (fstring_list_t), intent(out) | attribute_value_list ) |
Definition at line 1969 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_get_variable_id_for_variable | ( | type (t_netcdf4_file), intent(inout) | ncfile, |
character (len=*), intent(in) | variable_name, | ||
integer (c_int), intent(out) | variable_id ) |
Definition at line 1930 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_get_variable_list | ( | type (t_netcdf4_file) | ncfile, |
type (fstring_list_t) | variable_list ) |
Definition at line 2064 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_get_variable_slice | ( | type (t_netcdf4_file), intent(inout) | ncfile, |
real (c_float), dimension(:,:), optional | rvalues, | ||
real (c_double), dimension(:,:), optional | dpvalues, | ||
integer (c_int), dimension(:,:), optional | ivalues ) |
subroutine, public netcdf4_support::netcdf_nullify_data_struct | ( | type (t_netcdf4_file ) | ncfile | ) |
Definition at line 1672 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_open_and_prepare_as_input | ( | type (t_netcdf4_file ) | ncfile, |
character (len=*) | sfilename, | ||
logical (c_bool), optional | lfliphorizontal, | ||
logical (c_bool), optional | lflipvertical, | ||
logical (c_bool), optional | lallowautomaticdataflipping, | ||
real (c_double), optional | rx_coord_addoffset, | ||
real (c_double), optional | ry_coord_addoffset, | ||
character (len=*), optional | svariableorder, | ||
character (len=*), optional | svarname_x, | ||
character (len=*), optional | svarname_y, | ||
character (len=*), optional | svarname_z, | ||
character (len=*), optional | svarname_time, | ||
real (c_double), optional | rcoordinatetolerance, | ||
type (grid_bounds_t), optional | tgridbounds, | ||
integer (c_int), optional | ilu ) |
look for and process the "days since MM-D-YYYY" attribute
retrieve the time values as included in the netCDF file
establish scale_factor and add_offset values, if present
retrieve the X and Y coordinates from the netCDF file...
define a subset of the grid as the AOI need all four corner points since it is likely that the AOI rectangle is rotated relative to the base projection
define the entire grid area as the AOI
based on the subset of the netCDF file as determined above, set the start, count, and stride parameters for use in all further data retrievals
establish the bounds to iterate over; this can enable horiz or vert flipping
now that we have (possibly) created a subset, need to get the NATIVE coordinate bounds so that the intermediate grid file can be created
Definition at line 735 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_open_and_prepare_as_output | ( | type (t_netcdf4_file ), intent(inout), pointer | ncfile, |
character (len=*), intent(in) | svariablename, | ||
character (len=*), intent(in) | svariableunits, | ||
integer (c_int), intent(in) | inx, | ||
integer (c_int), intent(in) | iny, | ||
real (c_double), dimension(:), intent(in) | fx, | ||
real (c_double), dimension(:), intent(in) | fy, | ||
type (datetime_t), intent(in) | startdate, | ||
type (datetime_t), intent(in) | enddate, | ||
character (len=*), intent(in) | proj4_string, | ||
type (fstring_list_t), intent(in), optional, pointer | history_list, | ||
character (len=*), intent(in), optional | executable_name, | ||
real (c_double), dimension(:,:), intent(in), optional | dplat, | ||
real (c_double), dimension(:,:), intent(in), optional | dplon, | ||
real (c_float), intent(in), optional | fvalidmin, | ||
real (c_float), intent(in), optional | fvalidmax, | ||
logical (c_bool), intent(in), optional | write_time_bounds, | ||
character (len=*), intent(in), optional | filename_prefix, | ||
character (len=*), intent(in), optional | filename_modifier ) |
set dimension values in the NCFILE struct
transfer dimension values to netCDF file
set variable values in the NCFILE struct
transfer variable values to netCDF file
enable a low level of data compression for the variable of interest
Definition at line 1016 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_open_and_prepare_as_output_archive | ( | type (t_netcdf4_file ) | ncfile, |
type (t_netcdf4_file ) | ncfile_archive, | ||
integer (c_int) | ioriginmonth, | ||
integer (c_int) | ioriginday, | ||
integer (c_int) | ioriginyear, | ||
integer (c_int) | istartyear, | ||
integer (c_int) | iendyear ) |
set dimension values in the NCFILE struct
transfer dimension values to netCDF file
set variable values in the NCFILE struct
transfer variable values to netCDF file
enable a low level of data compression for the variable of interest
Definition at line 919 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_open_and_prepare_for_merging | ( | type (t_netcdf4_file ), intent(inout) | ncfile, |
character (len=*), intent(in) | sfilename, | ||
logical (c_bool), intent(in), optional | guess_z_var_name ) |
look for and process the "days since MM-DD-YYYY" attribute
retrieve the time values as included in the netCDF file
retrieve the X and Y coordinates from the netCDF file...
define the entire grid area as the AOI
based on the subset of the netCDF file as determined above, set the start, count, and stride parameters for use in all further data retrievals
establish the bounds to iterate over; this can enable horiz or vert flipping
now that we have (possibly) created a subset, need to get the NATIVE coordinate bounds so that the intermediate grid file can be created
Definition at line 660 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_open_file | ( | type (t_netcdf4_file ) | ncfile, |
character (len=*) | sfilename, | ||
integer (c_int), optional | ilu ) |
Similarly, the structure of the file may be slightly different from the previous file
CANNOT ASSUME THAT THIS WILL REMAIN CONSTANT ACROSS FILES FROM THE SAME PROVIDER!! MUST UPDATE TO ENSURE THAT THE INDICES ARE STILL RELEVANT
retrieve the origin for the time units associated with this file
retrieve the time value specific to this file
establish scale_factor and add_offset values, if present
Definition at line 1526 of file netcdf4_support.F90.
subroutine, public netcdf4_support::netcdf_put_packed_variable_array | ( | type (t_netcdf4_file ) | ncfile, |
integer (c_int) | ivarid, | ||
integer (c_size_t), dimension(:) | istart, | ||
integer (c_size_t), dimension(:) | icount, | ||
integer (c_size_t), dimension(:) | istride, | ||
logical (c_bool), dimension(:,:) | lmask, | ||
integer (c_int), dimension(:), optional | ivalues, | ||
integer (c_int), dimension(:,:), optional | ifield, | ||
integer (c_short), dimension(:), optional | i2values, | ||
integer (c_short), dimension(:,:), optional | i2field, | ||
real (c_float), dimension(:), optional | rvalues, | ||
real (c_float), dimension(:,:), optional | rfield, | ||
real (c_double), dimension(:), optional | dpvalues, | ||
real (c_double), dimension(:,:), optional | dpfield ) |
subroutine, public netcdf4_support::netcdf_put_variable_array | ( | type (t_netcdf4_file ) | ncfile, |
integer (c_int) | ivarid, | ||
integer (c_size_t), dimension(:) | istart, | ||
integer (c_size_t), dimension(:) | icount, | ||
integer (c_size_t), dimension(:) | istride, | ||
integer (c_int), dimension(:,:), optional | ivalues, | ||
integer (c_short), dimension(:,:), optional | i2values, | ||
real (c_float), dimension(:,:), optional | rvalues, | ||
real (c_double), dimension(:,:), optional | dpvalues ) |
subroutine, public netcdf4_support::netcdf_put_variable_vector | ( | type (t_netcdf4_file ) | ncfile, |
integer (c_int) | ivarid, | ||
integer (c_size_t), dimension(:) | istart, | ||
integer (c_size_t), dimension(:) | icount, | ||
integer (c_size_t), dimension(:) | istride, | ||
integer (c_int), dimension(:), optional | ivalues, | ||
integer (c_short), dimension(:), optional | i2values, | ||
real (c_float), dimension(:), optional | rvalues, | ||
real (c_double), dimension(:), optional | dpvalues ) |
subroutine, public netcdf4_support::netcdf_rewrite_attribute | ( | type (t_netcdf4_file ) | ncfile, |
character (len=*) | svariablename, | ||
character (len=*) | sattributename, | ||
character (len=*), dimension(:), optional | sattributevalue, | ||
integer (c_int), dimension(:), optional | iattributevalue, | ||
real (c_float), dimension(:), optional | rattributevalue, | ||
real (c_double), dimension(:), optional | dpattributevalue ) |
subroutine, public netcdf4_support::netcdf_set_coordinate_tolerance | ( | type (t_netcdf4_file) | ncfile, |
real (c_double), intent(in) | tolerance ) |
Definition at line 2053 of file netcdf4_support.F90.
logical (c_bool) function, public netcdf4_support::netcdf_update_time_starting_index | ( | type (t_netcdf4_file) | ncfile, |
integer (c_int) | ijulianday ) |
|
private |
|
private |
|
private |
Definition at line 370 of file netcdf4_support.F90.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
if there is only one day of data in this netCDF file, the first day equals the last day
Definition at line 2812 of file netcdf4_support.F90.
|
private |
Now repeat the process for "add_offset" attribute
Definition at line 3028 of file netcdf4_support.F90.
|
private |
Definition at line 2918 of file netcdf4_support.F90.
|
private |
Definition at line 1329 of file netcdf4_support.F90.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 3268 of file netcdf4_support.F90.
|
private |
|
private |
Definition at line 2989 of file netcdf4_support.F90.
|
private |
Definition at line 631 of file netcdf4_support.F90.
|
private |
Definition at line 355 of file netcdf4_support.F90.
|
private |
We need two functions to convert from index to timeval, and timeval to JD; note that timeval refers to the number of days from the origin of the netCDF file.
return the day value (number of days since origin
Definition at line 343 of file netcdf4_support.F90.
|
private |
First guess at what the appropriate index value should be. Current JD minus the Origin JD is a good guess.
calculate the range of INDEX values to search over
Definition at line 386 of file netcdf4_support.F90.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 513 of file netcdf4_support.F90.
|
private |
Definition at line 464 of file netcdf4_support.F90.
|
private |
Definition at line 565 of file netcdf4_support.F90.
|
private |
Definition at line 598 of file netcdf4_support.F90.
|
private |
Definition at line 3176 of file netcdf4_support.F90.
|
private |
find the (x,y) associated with the column and row number bounds
Definition at line 1291 of file netcdf4_support.F90.
|
private |
Definition at line 448 of file netcdf4_support.F90.
|
private |
Definition at line 480 of file netcdf4_support.F90.
|
private |
Definition at line 3598 of file netcdf4_support.F90.
|
private |
Definition at line 1209 of file netcdf4_support.F90.
|
private |
Definition at line 3695 of file netcdf4_support.F90.
|
private |
define the time dimension;
define the y dimension;
define the x dimension;
define the auxiliary dimension;
Definition at line 3441 of file netcdf4_support.F90.
|
private |
Definition at line 3498 of file netcdf4_support.F90.
|
private |
need to subtract 1 from the start index: we are using the netCDF C API, in which index values are relative to zero
note: this assumes that the row numbers increase from top to bottom, while the Y coordinates decrease top to bottom
count must be set to the number of values! maxval minus minval results in a diagonal pattern in the input as we read in the incorrect number of results
Definition at line 1237 of file netcdf4_support.F90.
|
private |
Definition at line 1198 of file netcdf4_support.F90.
|
private |
|
private |
Definition at line 157 of file netcdf4_support.F90.
|
private |
Definition at line 160 of file netcdf4_support.F90.
|
private |
Definition at line 107 of file netcdf4_support.F90.
|
private |
Definition at line 109 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_aux = 3 |
Definition at line 142 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_bottom = 1 |
Definition at line 155 of file netcdf4_support.F90.
|
private |
Definition at line 150 of file netcdf4_support.F90.
|
private |
Definition at line 72 of file netcdf4_support.F90.
|
private |
Definition at line 73 of file netcdf4_support.F90.
|
private |
Definition at line 127 of file netcdf4_support.F90.
|
private |
Definition at line 100 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_crs = 4 |
Definition at line 143 of file netcdf4_support.F90.
|
private |
Definition at line 124 of file netcdf4_support.F90.
|
private |
Definition at line 123 of file netcdf4_support.F90.
|
private |
Definition at line 78 of file netcdf4_support.F90.
|
private |
Definition at line 102 of file netcdf4_support.F90.
|
private |
Definition at line 87 of file netcdf4_support.F90.
|
private |
Definition at line 86 of file netcdf4_support.F90.
|
private |
Definition at line 93 of file netcdf4_support.F90.
real(c_float), parameter, public netcdf4_support::nc_fill_float = -9999.0_c_float |
Definition at line 92 of file netcdf4_support.F90.
integer(c_int), parameter, public netcdf4_support::nc_fill_int = -2147483647 |
Definition at line 89 of file netcdf4_support.F90.
|
private |
Definition at line 88 of file netcdf4_support.F90.
|
private |
Definition at line 148 of file netcdf4_support.F90.
integer(c_int), parameter, public netcdf4_support::nc_float = 5 |
Definition at line 77 of file netcdf4_support.F90.
|
private |
Definition at line 111 of file netcdf4_support.F90.
|
private |
Definition at line 110 of file netcdf4_support.F90.
|
private |
Definition at line 112 of file netcdf4_support.F90.
|
private |
Definition at line 113 of file netcdf4_support.F90.
|
private |
Definition at line 131 of file netcdf4_support.F90.
|
private |
Definition at line 75 of file netcdf4_support.F90.
|
private |
Definition at line 82 of file netcdf4_support.F90.
|
private |
Definition at line 149 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_lat = 5 |
Definition at line 144 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_left = 0 |
Definition at line 152 of file netcdf4_support.F90.
|
private |
Definition at line 104 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_lon = 6 |
Definition at line 145 of file netcdf4_support.F90.
|
private |
Definition at line 76 of file netcdf4_support.F90.
|
private |
Definition at line 117 of file netcdf4_support.F90.
|
private |
Definition at line 116 of file netcdf4_support.F90.
|
private |
Definition at line 119 of file netcdf4_support.F90.
|
private |
Definition at line 118 of file netcdf4_support.F90.
|
private |
Definition at line 90 of file netcdf4_support.F90.
|
private |
Definition at line 71 of file netcdf4_support.F90.
|
private |
Definition at line 126 of file netcdf4_support.F90.
|
private |
Definition at line 101 of file netcdf4_support.F90.
|
private |
Definition at line 103 of file netcdf4_support.F90.
|
private |
Definition at line 98 of file netcdf4_support.F90.
integer(c_int), public netcdf4_support::nc_readonly = 0 |
Definition at line 51 of file netcdf4_support.F90.
integer(c_int), public netcdf4_support::nc_readwrite = 1 |
Definition at line 52 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_right = 1 |
Definition at line 153 of file netcdf4_support.F90.
|
private |
Definition at line 105 of file netcdf4_support.F90.
|
private |
Definition at line 74 of file netcdf4_support.F90.
|
private |
Definition at line 122 of file netcdf4_support.F90.
|
private |
Definition at line 121 of file netcdf4_support.F90.
|
private |
Definition at line 108 of file netcdf4_support.F90.
|
private |
Definition at line 106 of file netcdf4_support.F90.
|
private |
Definition at line 84 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_time = 0 |
@TODO: implement a more flexible way of tracking variable IDs; presently the code can break if lat and lon are omitted, but time_bnds is included; this is because if the lat and lon variables are not defined, NC_TIME_BNDS may be 4 or 5 or some other value.
Definition at line 138 of file netcdf4_support.F90.
integer (c_int), public netcdf4_support::nc_time_bnds = 7 |
Definition at line 146 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_top = 0 |
Definition at line 154 of file netcdf4_support.F90.
|
private |
Definition at line 79 of file netcdf4_support.F90.
|
private |
Definition at line 81 of file netcdf4_support.F90.
|
private |
Definition at line 83 of file netcdf4_support.F90.
|
private |
Definition at line 130 of file netcdf4_support.F90.
|
private |
Definition at line 80 of file netcdf4_support.F90.
|
private |
Definition at line 99 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_x = 2 |
Definition at line 140 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_y = 1 |
Definition at line 139 of file netcdf4_support.F90.
integer (c_int), parameter, public netcdf4_support::nc_z = 3 |
Definition at line 141 of file netcdf4_support.F90.
|
private |
Definition at line 170 of file netcdf4_support.F90.
|
private |
Definition at line 164 of file netcdf4_support.F90.
|
private |
Definition at line 161 of file netcdf4_support.F90.
|
private |
Definition at line 158 of file netcdf4_support.F90.
|
private |
Definition at line 162 of file netcdf4_support.F90.