FV3 Bundle
station_data.F90 File Reference

Go to the source code of this file.

Data Types

type  station_data_mod::file_type
 
type  station_data_mod::station_type
 
type  station_data_mod::group_field_type
 
type  station_data_mod::global_field_type
 
interface  station_data_mod::register_station_field
 
interface  station_data_mod::send_station_data
 

Modules

module  station_data_mod
 This module is used for outputing model results in a list of stations (not gridded arrays). The user needs to supply a list of stations with lat, lon values of each station. Data at a single point (I,J) that is closest to each station will be written to a file. No interpolation is made when a station is between two or more grid points.
In the output file, a 3D field will have a format of array(n1,n2) and a 2D field is array(n1) where n1 is number of stations and n2 is number of vertical levels or depths.
 

Functions/Subroutines

subroutine, public station_data_mod::station_data_init ()
 Read in lat and lon of each station
Create station_id based on lat, lon
Read station_data_table, initialize output_fields and output files. More...
 
subroutine station_data_mod::check_duplicate_output_fields ()
 check_duplicate_output_fields takes the data pairs (output_name and output_file) and (module_name and output_name) and ensures each pair is unique. More...
 
integer function station_data_mod::get_station_id (lat, lon)
 get_station_id is passed the station's distinct lat and lon to determine what the station's id is. More...
 
subroutine station_data_mod::init_file (filename, output_freq, output_units, time_units)
 init_file initializes files to write station data to. Data is formatted as number of units of measurement at X output frequency over amount of time dt More...
 
subroutine station_data_mod::init_output_field (module_name, field_name, file_name, time_method, pack)
 init_output_field initializes output_field attributes More...
 
integer function station_data_mod::find_file (name)
 find_file finds the index of a requested file More...
 
integer function station_data_mod::register_station_field2d (module_name, fieldname, glo_lat, glo_lon, init_time, domain, longname, units)
 register_station_field2d registers a new station field with user input.
register_station_field2d is overloaded by register_station_field3d as a part of the register_station_field interface. More...
 
integer function station_data_mod::register_station_field3d (module_name, fieldname, glo_lat, glo_lon, levels, init_time, domain, longname, units)
 register_station_field3d registers a new station field with user input.
register_station_field3d is overloaded by register_station_field2d as a part of the register_station_field interface. More...
 
integer function station_data_mod::find_output_field (module_name, field_name)
 find_output_field returns the index of the reuqested field within the output_fields array. More...
 
subroutine station_data_mod::opening_file (file)
 opening_file opens a file and writes axis meta_data for all files (only on ROOT PE, do nothing on other PEs) More...
 
subroutine station_data_mod::send_station_data_2d (field_id, data, time)
 send_station_data_2d sends data to the root PE, which then sends data to staton_data_out to be sent to files.
send_station_data_2d is overloaded by send_station_data_3d as a part of the send_station_data interface. More...
 
subroutine station_data_mod::send_station_data_3d (field_id, data, time)
 send_station_data_3d sends data to the root PE, which then sends data to staton_data_out to be sent to files.
send_station_data_3d is overloaded by send_station_data_2d as a part of the send_station_data interface. More...
 
subroutine station_data_mod::station_data_out (file, field, data, time, final_call_in)
 station_data_out is responsible for sending station data to files. More...
 
subroutine, public station_data_mod::station_data_end (time)
 Must be called after the last time step to write the buffer content. More...
 

Variables

integer, parameter station_data_mod::max_fields_per_file = 150
 
integer, parameter station_data_mod::max_files = 31
 
integer station_data_mod::num_files = 0
 
integer station_data_mod::num_stations = 0
 
integer station_data_mod::max_stations = 20
 
integer station_data_mod::max_output_fields = 100
 
integer station_data_mod::num_output_fields = 0
 
real station_data_mod::empty = 0.0
 
real station_data_mod::missing = 1.E20
 
logical station_data_mod::module_is_initialized = .false.
 
logical station_data_mod::need_write_axis = .true.
 
integer station_data_mod::base_year
 
integer station_data_mod::base_month
 
integer station_data_mod::base_day
 
integer station_data_mod::base_hour
 
integer station_data_mod::base_minute
 
integer station_data_mod::base_second
 
type(time_type) station_data_mod::base_time
 
character(len=10), dimension(6) station_data_mod::time_unit_list = (/'seconds ', 'minutes ', 'hours ', 'days ', 'months ', 'years '/)
 
integer, parameter station_data_mod::every_time = 0
 
integer, parameter station_data_mod::end_of_run = -1
 
character(len=256) station_data_mod::global_descriptor
 
character(len=7) station_data_mod::avg_name = 'average'
 
integer station_data_mod::total_pe
 
integer station_data_mod::lat_axis
 
integer station_data_mod::lon_axis
 
integer, dimension(:), allocatable station_data_mod::pelist
 
character(len=32) station_data_mod::pelist_name
 
type(global_field_type), save station_data_mod::global_field
 
type(file_type), dimension(max_files), save station_data_mod::files
 
type(group_field_type), dimension(:), allocatable, save station_data_mod::output_fields
 
type(station_type), dimension(:), allocatable station_data_mod::stations
 
type(diag_fieldtype), save station_data_mod::diag_field