|
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_netcdf_dimension |
| type | t_netcdf_attribute |
| type | t_netcdf_variable |
| type | t_netcdf4_file |
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 318 of file netcdf4_support.F90.
| subroutine, public netcdf4_support::netcdf_deallocate_data_struct | ( | type (t_netcdf4_file ) | ncfile | ) |
Definition at line 1625 of file netcdf4_support.F90.
| subroutine, public netcdf4_support::netcdf_dump_cdl | ( | type (t_netcdf4_file ) | ncfile, |
| integer | ilu ) |
Definition at line 2674 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 1946 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 1908 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 2041 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 1656 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 730 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 1004 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 910 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 661 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 1510 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 2030 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 371 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 2786 of file netcdf4_support.F90.

|
private |
Now repeat the process for "add_offset" attribute
Definition at line 2999 of file netcdf4_support.F90.

|
private |
Definition at line 2890 of file netcdf4_support.F90.
|
private |
Definition at line 1314 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 3240 of file netcdf4_support.F90.
|
private |
|
private |
Definition at line 2961 of file netcdf4_support.F90.
|
private |
Definition at line 633 of file netcdf4_support.F90.
|
private |
Definition at line 356 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 344 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 387 of file netcdf4_support.F90.

|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 514 of file netcdf4_support.F90.
|
private |
Definition at line 465 of file netcdf4_support.F90.
|
private |
Definition at line 566 of file netcdf4_support.F90.
|
private |
Definition at line 599 of file netcdf4_support.F90.
|
private |
Definition at line 3146 of file netcdf4_support.F90.
|
private |
find the (x,y) associated with the column and row number bounds
Definition at line 1276 of file netcdf4_support.F90.
|
private |
Definition at line 449 of file netcdf4_support.F90.
|
private |
Definition at line 481 of file netcdf4_support.F90.
|
private |
Definition at line 3588 of file netcdf4_support.F90.
|
private |
Definition at line 1194 of file netcdf4_support.F90.
|
private |
Definition at line 3685 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 3431 of file netcdf4_support.F90.
|
private |
Definition at line 3488 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 1222 of file netcdf4_support.F90.
|
private |
Definition at line 1183 of file netcdf4_support.F90.
|
private |
|
private |
Definition at line 158 of file netcdf4_support.F90.
|
private |
Definition at line 161 of file netcdf4_support.F90.
|
private |
Definition at line 108 of file netcdf4_support.F90.
|
private |
Definition at line 110 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_aux = 3 |
Definition at line 143 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_bottom = 1 |
Definition at line 156 of file netcdf4_support.F90.
|
private |
Definition at line 151 of file netcdf4_support.F90.
|
private |
Definition at line 73 of file netcdf4_support.F90.
|
private |
Definition at line 74 of file netcdf4_support.F90.
|
private |
Definition at line 128 of file netcdf4_support.F90.
|
private |
Definition at line 101 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_crs = 4 |
Definition at line 144 of file netcdf4_support.F90.
|
private |
Definition at line 125 of file netcdf4_support.F90.
|
private |
Definition at line 124 of file netcdf4_support.F90.
|
private |
Definition at line 79 of file netcdf4_support.F90.
|
private |
Definition at line 103 of file netcdf4_support.F90.
|
private |
Definition at line 88 of file netcdf4_support.F90.
|
private |
Definition at line 87 of file netcdf4_support.F90.
|
private |
Definition at line 94 of file netcdf4_support.F90.
| real(c_float), parameter, public netcdf4_support::nc_fill_float = -9999.0_c_float |
Definition at line 93 of file netcdf4_support.F90.
| integer(c_int), parameter, public netcdf4_support::nc_fill_int = -2147483647 |
Definition at line 90 of file netcdf4_support.F90.
|
private |
Definition at line 89 of file netcdf4_support.F90.
|
private |
Definition at line 149 of file netcdf4_support.F90.
| integer(c_int), parameter, public netcdf4_support::nc_float = 5 |
Definition at line 78 of file netcdf4_support.F90.
|
private |
Definition at line 112 of file netcdf4_support.F90.
|
private |
Definition at line 111 of file netcdf4_support.F90.
|
private |
Definition at line 113 of file netcdf4_support.F90.
|
private |
Definition at line 114 of file netcdf4_support.F90.
|
private |
Definition at line 132 of file netcdf4_support.F90.
|
private |
Definition at line 76 of file netcdf4_support.F90.
|
private |
Definition at line 83 of file netcdf4_support.F90.
|
private |
Definition at line 150 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_lat = 5 |
Definition at line 145 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_left = 0 |
Definition at line 153 of file netcdf4_support.F90.
|
private |
Definition at line 105 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_lon = 6 |
Definition at line 146 of file netcdf4_support.F90.
|
private |
Definition at line 77 of file netcdf4_support.F90.
|
private |
Definition at line 118 of file netcdf4_support.F90.
|
private |
Definition at line 117 of file netcdf4_support.F90.
|
private |
Definition at line 120 of file netcdf4_support.F90.
|
private |
Definition at line 119 of file netcdf4_support.F90.
|
private |
Definition at line 91 of file netcdf4_support.F90.
|
private |
Definition at line 72 of file netcdf4_support.F90.
|
private |
Definition at line 127 of file netcdf4_support.F90.
|
private |
Definition at line 102 of file netcdf4_support.F90.
|
private |
Definition at line 104 of file netcdf4_support.F90.
|
private |
Definition at line 99 of file netcdf4_support.F90.
| integer(c_int), public netcdf4_support::nc_readonly = 0 |
Definition at line 52 of file netcdf4_support.F90.
| integer(c_int), public netcdf4_support::nc_readwrite = 1 |
Definition at line 53 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_right = 1 |
Definition at line 154 of file netcdf4_support.F90.
|
private |
Definition at line 106 of file netcdf4_support.F90.
|
private |
Definition at line 75 of file netcdf4_support.F90.
|
private |
Definition at line 123 of file netcdf4_support.F90.
|
private |
Definition at line 122 of file netcdf4_support.F90.
|
private |
Definition at line 109 of file netcdf4_support.F90.
|
private |
Definition at line 107 of file netcdf4_support.F90.
|
private |
Definition at line 85 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 139 of file netcdf4_support.F90.
| integer (c_int), public netcdf4_support::nc_time_bnds = 7 |
Definition at line 147 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_top = 0 |
Definition at line 155 of file netcdf4_support.F90.
|
private |
Definition at line 80 of file netcdf4_support.F90.
|
private |
Definition at line 82 of file netcdf4_support.F90.
|
private |
Definition at line 84 of file netcdf4_support.F90.
|
private |
Definition at line 131 of file netcdf4_support.F90.
|
private |
Definition at line 81 of file netcdf4_support.F90.
|
private |
Definition at line 100 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_x = 2 |
Definition at line 141 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_y = 1 |
Definition at line 140 of file netcdf4_support.F90.
| integer (c_int), parameter, public netcdf4_support::nc_z = 3 |
Definition at line 142 of file netcdf4_support.F90.
|
private |
Definition at line 171 of file netcdf4_support.F90.
|
private |
Definition at line 165 of file netcdf4_support.F90.
|
private |
Definition at line 162 of file netcdf4_support.F90.
|
private |
Definition at line 159 of file netcdf4_support.F90.
|
private |
Definition at line 163 of file netcdf4_support.F90.